Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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 用于覆盖模型属性的MVC4文本框_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 用于覆盖模型属性的MVC4文本框

Asp.net mvc 用于覆盖模型属性的MVC4文本框,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,假设我有一个模型: public MyClass { public int Id {get;set;} public string Name {get;set;} public int ContentId {get;set;} } 假设我访问控制器的操作: [HttpGet] public ActionResult Create(int id) { MyClass mc = new MyClass(); mc.Id = 49; mc.Conten

假设我有一个模型:

public MyClass
{
    public int Id {get;set;}
    public string Name {get;set;}
    public int ContentId {get;set;}
}
假设我访问控制器的操作:

[HttpGet]
public ActionResult Create(int id)
{
    MyClass mc = new MyClass();
    mc.Id = 49;
    mc.ContentId = id;
    mc.Name = "Sample";
    return View("Create", mc);
}
“Create”视图是MyClass的强类型视图,它有helper@Html.TextBoxFor(x=>x.Id)

如果通过调用MyController/Create?id=15调用操作,textbox将显示值15而不是49。MVC将忽略正在运行的my ID属性集,并使用查询中的属性集

考虑到这种行为没有任何记录,我觉得这相当奇怪

对此有什么好的评论吗?

而不是

@Html.TextBoxFor(x => x.Id)
使用:


并查看这是否为您提供了所需的功能。

在操作开始时使用
ModelState.Clear()。一个很好的例子是:


能否列出视图的代码。否则,我们只能猜测你是如何使用你的模型的。此外,您在问题标题中使用了MVC4,但问题被标记为MVC3(尽管这两个问题都不是特定的)。
@Html.TextBoxFor(x => Model.Id)