【问题标题】:ASP.Net MVC Model Binding Returning Null ValuesASP.Net MVC 模型绑定返回空值
【发布时间】:2009-04-23 01:57:37
【问题描述】:

给定以下标记:

 <form method="post" action="/home/index">
    Username:
    <%= Html.TextBox("UserName")%>
    Password:
    <%= Html.TextBox("Password")%>
    <input id="login" type="button" value="Login" />
    <input id="Submit1" type="submit" value="submit" />
 </form>

你能告诉我为什么调用我的操作时模型绑定不起作用:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Index(string UserName, string Password)
    {
        //UserName and Password are null!  Why?            
    }

编辑: 表单值正在发布。如果我检查 Request.Form 属性,我会看到发布了正确的值。

?申请表 {用户名=sdf&密码=sdf} [System.Web.HttpValueCollection]:{用户名=sdf&密码=sdf} 基础 {System.Collections.Specialized.NameObjectCollectionBase}:{UserName=sdf&Password=sdf} 所有键:{string[2]}

【问题讨论】:

  • 我假设您在发布表单后检查了正确的操作?
  • 是的,在发布表单后会调用正确的操作。
  • 这很奇怪。我面前有确切的代码。您是否使用了不同的模型绑定器?
  • 很奇怪,我也遇到过类似的问题,不知道是什么原因造成的。值 [public ActionResult Create(Text value)] 为 null 的情况相同,但另一个控制器的类似操作可以正常工作。除了 1 个 Guid 属性和 2 个字符串属性之外,该类没有什么特别之处。

标签: asp.net-mvc


【解决方案1】:

您是否尝试将绑定属性添加到参数中?

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index([Bind]string UserName, [Bind]string Password)
{
    //UserName and Password are null!  Why?            
}

【讨论】:

    【解决方案2】:

    我也遇到过类似的问题,原来是因为字段的命名问题。

    <form method="post" action="/company/update/3">
       Name:
       <%= Html.TextBox("Company.Name")%>
       FEIN:
       <%= Html.TextBox("FEIN")%>
    
       <input type="submit" value="submit" />
    </form>
    

    发布到:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Index(int id, Company company)
    {
        //Company.FEIN is null!
    }
    

    如果 Company.Name 是发布的第一个值,这似乎会发生。

    【讨论】:

      【解决方案3】:

      Steve 我遇到了类似的问题,我发现这是因为我的模型上的属性 Key 和 Value 是模型绑定器不喜欢的。

      试试把UserName改成user和Password看看问题是否依然存在。

      【讨论】:

        【解决方案4】:

        您可以尝试在运行时将调试器附加到 MVC 源代码,以查看引擎盖/引擎盖下发生了什么。

        【讨论】:

          【解决方案5】:

          请将名称属性添加到您的控件 (Html.TextBox("UserName"))

          【讨论】:

            猜你喜欢
            • 2011-11-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-05-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多