Asp.net mvc 3 ASP.NET/Model-防止模型预先填充表单输入字段
当我以表单的形式将模型传递给视图时,字段会预先填充默认值,特别是当模型属性是int数据类型时,是否有任何方法可以防止这种情况发生 例如: 型号:Asp.net mvc 3 ASP.NET/Model-防止模型预先填充表单输入字段,asp.net-mvc-3,model,razor,Asp.net Mvc 3,Model,Razor,当我以表单的形式将模型传递给视图时,字段会预先填充默认值,特别是当模型属性是int数据类型时,是否有任何方法可以防止这种情况发生 例如: 型号: public class MyModel { [Key] public int MyKey { get; set; } public int MyInt { get; set; } public string MyString { get; set; } } 控制器: public class MyController
public class MyModel {
[Key]
public int MyKey { get; set; }
public int MyInt { get; set; }
public string MyString { get; set; }
}
控制器:
public class MyController : Controller {
public ActionResult MyAction(int id) {
return View(context.MyModel.Single(x=>x.MyKey == id));
}
}
视图:
@model MyNamespace.MyModel
@使用(Html.BeginForm())
{
@Html.HiddenFor(x=>x.MyKey)
@EditorFor(x=>x.MyInt)
@EditorFor(x=>x.MyString)
使用int?
而不是int
可以在输入中保留空值
这里有一个相关的问题,但与DateTime
类型有关:哦,哇,这很简单,谢谢你的回答,我也会在有能力的时候把它标记为答案!
@model MyNamespace.MyModel
@using(Html.BeginForm())
{
@Html.HiddenFor(x=>x.MyKey)
@Html.EditorFor(x=>x.MyInt)
@Html.EditorFor(x=>x.MyString)
<input type="submit" value="Submit />
}