¿Es posible controlar el atributo de nombre de, por ejemplo, una entrada de texto cuando se utiliza TextBoxFor?nombre de control en TextBoxFor en MVC3
este código en la vista
@Html.TextBoxFor(m => m.SearchParams.someParam)
producir este
<input id="SearchParams_someParam" name="SearchParams.someParam" type="text" value="">
pero yo no quiero que mi nombre de entrada sea "SearchParams.someParam" y quería que ser algo así como
<input id="SearchParams_someParam" name="MyPreferedName" type="text" value="">
donde MyPreferedName proviene de algunos atributos el .SearchParams.someParam en la correspondencia modelo de ing.
¿Esto es posible? Sé que @ Html.TextBox lo hace, pero no quiero codificar el nombre en la vista.
duplicados de http : //stackoverflow.com/questions/6064363/mvc2-impossible-to-ch ange-the-name-with-textboxfor y http://stackoverflow.com/questions/6057865/asp-net-mvc-3-override-name-attribute-with-textboxfor –
El 'nombre' es el nombre del campo de valor está publicado en el servidor con.Si está utilizando el * Para los métodos de ayuda, está pasando una expresión de propiedad de modelo, y si desea que el campo se vincule a esa propiedad en el modelo, entonces necesita usar el nombre correcto, el que MVC genera para tú. No hay una buena razón para anularlo. El atributo 'id' se puede anular, porque puede usarlo como quiera en JavaScript, pero el atributo 'nombre' sirve para una función específica en el marco de MVC; se usa en el enlace del modelo en las espaldas de la publicación. Para nombres personalizados, use la sobrecarga que.acepta un nombre/valor. – Triynko