【发布时间】:2010-12-01 13:50:08
【问题描述】:
我尝试使用 Html.EditorFor() 帮助程序将数据绑定到模型并提交,但模型来到控制器为空。
这是模型代码:
public class LogOnModel
{
[LocalizedRequired]
[LocalizedDisplayName("User Name")]
public string UserName { get; set; }
[LocalizedRequired]
[DataType(DataType.Password)]
[LocalizedDisplayName("Password")]
public string Password { get; set; }
[LocalizedDisplayName("Remember Me")]
public bool RememberMe { get; set; }
}
这是cshtml:
@model Models.LogOnModel
{
View.Title = "Log On";
}
@using (Html.BeginForm())
{
@Html.EditorFor(m => m.UserName);
@Html.EditorFor(m => m.Password);
<input type="submit" value="LogOn" />
}
html 代码是这样生成的:
<input id="UserName_UserName" name="UserName.UserName" type="text" value="qwerty" />
<input id="Password_Password" name="Password.Password" type="password" />
在 html 生成的代码中似乎有错误,应该是 id="someid" value="somevalue",而不是 id="someid_someid" value="somevalue.somevalue"
【问题讨论】:
-
您是否创建了自己的编辑器模板?如果是这样,您可以发布该代码吗?
-
[DataType(DataType.Password)]和EditorFor对我来说效果很好。我的 id 和 name 属性就像我预期的那样只是“密码”。
标签: c# asp.net-mvc-3 razor