You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core PageModel类验证后重定向及返回值错误解决

解决方案

你的代码报错是因为OnPostSubmit方法声明返回ActionResult,但当person.name为null时,没有任何返回语句,导致编译器提示“并非所有代码路径都返回值”。

要实现需求,只需在if分支之外添加返回当前页面的语句即可,修改后的代码如下:

public class IndexModel : PageModel
{
    public PersonModel Person { get; set; }
    public ActionResult OnPostSubmit(PersonModel person)
    {
        if (!string.IsNullOrEmpty(person.Name)) // 建议用string.IsNullOrEmpty做更严谨的空值判断,同时注意大小写统一(原代码里name和Name混用)
        {
            ViewData["Name"] = person.Name;
            return Redirect("~/path/");
        }
        // 当name为空时,返回当前页面
        return Page();
    }
}

额外说明:

  • 原代码里存在person.name和person.Name大小写不一致的问题,建议统一为person.Name(假设PersonModel里的属性是大写开头的Name)
  • 用string.IsNullOrEmpty替代单纯的!=null,可以同时判断null和空字符串的情况,逻辑更严谨

内容的提问来源于stack exchange,提问作者Vasanth R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:55:13