MVC2:无法用TextBoxFor更改名称?

时间:2011-05-19 20:16:37

标签: html asp.net asp.net-mvc asp.net-mvc-2 html.textboxfor

我想手动为文本框定义id和名称:

<%: Html.TextBoxFor(model => model.Name, new { @id = "txt1", @name = "txt1" })%>

但是只更改了id,而不是name属性,为什么?

<input id="txt1" name="Name" type="text" value="">

谢谢!

4 个答案:

答案 0 :(得分:17)

没关系:

<%: Html.TextBoxFor(model => model.Name, new { Name = "txt1" })%> 

您是否写了“姓名”而不是“姓名”?

输出:

<input  name="txt1" type="text" value=""> 

答案 1 :(得分:10)

实际上你可以......只使用首字母大写的Name代替name

@Html.TextBoxFor(model => model.Property, new { Name = "myName" })

答案 2 :(得分:5)

你不能使用强类型的lambda版本,你需要使用旧版本

Html.TextBox("txt1",new {@id = "txt1"})

答案 3 :(得分:1)

如果您仍然需要使用TextBoxFor(),则可以更改模型上属性的名称,如果您按照建议使用专用的ViewModel,这应该很容易。但是我承认这是一个我并不总是遵循自己的建议。