6

我想为这样的文本框手动定义 id 和 name:

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

但是只改变了id,没有改变name属性,为什么?

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

谢谢!

4

4 回答 4

17

还行吧:

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

你写“名字”而不是“名字”吗?

输出:

<input  name="txt1" type="text" value=""> 
于 2011-12-08T15:03:05.557 回答
10

实际上你可以......只使用Name首字母大写而不是name

@Html.TextBoxFor(model => model.Property, new { Name = "myName" })
于 2013-08-24T01:39:20.563 回答
5

您不能为此使用强类型的 lambda 版本,您需要使用旧版本

Html.TextBox("txt1",new {@id = "txt1"})
于 2011-05-19T20:18:28.477 回答
1

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

于 2011-05-19T20:25:28.830 回答