I want to manually define id and name for textbox like that:
<%: Html.TextBoxFor(model => model.Name, new { @id = "txt1", @name = "txt1" })%>
But only the id is changed, not the name attribute, why?
<input id="txt1" name="Name" type="text" value="">
Thank you!
You can't use the strongly typed lambda version for this, you'd need to use the older version
Html.TextBox("txt1",new {@id = "txt1"})
This is ok:
<%: Html.TextBoxFor(model => model.Name, new { Name = "txt1" })%>
Do you write "Name" instead of "name"?
Output:
<input name="txt1" type="text" value="">
Actually you can... just use Name
with first letter capitalized instead of name
:
@Html.TextBoxFor(model => model.Property, new { Name = "myName" })
If you still need to use TextBoxFor()
, you can change the name of the property on your model, which should be easy if you're using dedicated ViewModels as is recommended. However I admit it's a recommendation I don't always follow myself.