我正在尝试将模型发布回我的控制器。我不确定为什么TextBoxFor工作而TextBox没有。
@ModelType Models.myModel
@Code
ViewData("Title") = "Foo"
End Code
@Using (Html.BeginForm())
@Html.AntiForgeryToken()
@Html.TextBoxFor(Function(m) m.Value) <--- works
@Html.TextBox(Model.Value) <--- does not work
@Html.TextBox("Value", Model.Value) <--- works! (per answer below)
@<input type="submit" value="Save" />
End Using
答案 0 :(得分:1)
Html.TextBoxFor使用正确的名称值创建正确的输入类型=“text”。你不能使用它,但在这种情况下它会有所帮助。即使使用html代码也可以实现相同的结果:
<input type="text" name="Value" value="@Model.Value" />
asp.net mvc模型绑定器的要点是html控件的正确名称。 Html.TextBox()也使用第一个参数作为html元素名称,所以正确使用它应该是Html.TextBox(“Value”,Model.Value)