MVC2:Impossível alterar o nome com TextBoxFor?
-
16-11-2019 - |
Pergunta
Quero definir manualmente o id e o nome da caixa de texto assim:
<%: Html.TextBoxFor(model => model.Name, new { @id = "txt1", @name = "txt1" })%>
Mas apenas o id é alterado, não o atributo name, por quê?
<input id="txt1" name="Name" type="text" value="">
Obrigado!
Solução
Você não pode usar a versão lambda fortemente tipada para isso, você precisará usar a versão mais antiga
Html.TextBox("txt1",new {@id = "txt1"})
Outras dicas
Tudo bem:
<%: Html.TextBoxFor(model => model.Name, new { Name = "txt1" })%>
Tu escreves "Nome" em vez de "nome"?
Saída:
<input name="txt1" type="text" value="">
Na verdade você pode...Apenas use Name
com a primeira letra maiúscula em vez de name
:
@Html.TextBoxFor(model => model.Property, new { Name = "myName" })
Se você ainda precisar usar TextBoxFor()
, você pode alterar o nome da propriedade em seu modelo, o que deve ser fácil se você estiver usando ViewModels dedicados conforme recomendado.No entanto, admito que é uma recomendação que nem sempre sigo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow