TextBox

  • son útiles porque
    • tienen validaciones ( si forman parte de un form)
    • permiten binding de datos

Html.TextBox


Html.TextBox (string name, object value, object htmlAttributes)
  • string name para el ID
  • object value puede ser tanto ViewData como ViewData.Model

Un ejemplo de como se renderiza
<%= Html.TextBox("nombre",
 ViewData["seraelvalor224"],
 new {@class="textBoxNormal", @readonly="true",  style = "width:40px;" })%>
 
<input id="nombre" name="nombre"
 class="textBoxNormal" readonly="true" style="width:40px;"
 type="text" value="224" /></

Html.TextBoxFor


Para vistas fuertemente tipadas

<%: Html.TextBoxFor(model => model.Title) %>
  • admite un solo parámetro, que sirve para especificar tanto el ID como el NAME del <input> así como de la propiedad de MODEL que rellenará su valor.
  • Aparece como <input id="Title" name="Title" type="text" value="valor de Title" />
  • model permite ponerle cualquier letra o nombre, ya que el compilador sabrá que es el modelo, por estar la vista fuertemente tipada.

Ejemplo
<p>Name:
     <%= Html.TextBoxFor(m => m.Name) %>
</p>
se muestra como
<p>Name: <input id="Name" name="Name" type="text" value="" />  </p>
 
y se ve como
name.png

  • Se pueden poner atributos
    <%= Html.TextBoxFor(model => model.Fecha, new 
    { @class = "clase1", style = "width:75px;", maxlength="10" })%>
quedará como
  • <input name="Fecha" id="Fecha" type="text" class="clase1" style="width:75px;" maxlength="10" />




Html.ExtTextBoxFor (extensión de TextBoxFor)