Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 ASP.NET/Model-防止模型预先填充表单输入字段_Asp.net Mvc 3_Model_Razor - Fatal编程技术网

Asp.net mvc 3 ASP.NET/Model-防止模型预先填充表单输入字段

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

当我以表单的形式将模型传递给视图时,字段会预先填充默认值,特别是当模型属性是int数据类型时,是否有任何方法可以防止这种情况发生

例如:

型号:

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 />
}