标签:
下面通过HtmlHelper帮助类,创建文本框。
首先新建一个实体类,做为下面的例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MVCRestartlearnning.Models
{
public class Student
{
/// <summary>
/// 学号
/// </summary>
public int StudentId { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string StudentName { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
/// <summary>
/// 是否新入学
/// </summary>
public bool isNewlyEnrolled { get; set; }
/// <summary>
/// 密码
/// </summary>
public string Password { get; set; }
}
}
Html.TextBox()方法,创建文本框【<input type="text"/>】,并且可以带上name,value和html属性;
TextBox方法的签名:
MvcHtmlString Html.TextBox(string name, string value, object htmlAttributes)
TextBox method has many overloads. Please visit MSDN to know all the overloads of TextBox() method.
The TextBox() method is a loosely typed method because name parameter is a string. The name parameter can be a property name of model object. It binds specified property with textbox. So it automatically displays a value of the model property in a textbox and visa-versa.
Example:例子:
@Html.TextBox("student", null, new { @class="Myclass"})
生成:
<input class="Myclass" id="student" name="student" type="text" value="" />
上面的例子中,第一个参数“student”,被设置成文本框的id属性和name属性的值,第一个参数,是用来显示在文本框里的值,第三个参数,被用来设置文本框的class属性了,HtmlAttrbutes是一个对象类型,它是一个匿名对象,属性名字都会以一个@符号开始;
上面的例子中,第一个参数,你也可以换个名字,不用“student”,不过,不会绑定到模型中;
@Html.TextBox("myTextBox", "hello,TextBox", new { @class="myclasses"})
生成:
背后代码:
<input class="myclasses" id="myTextBox" name="myTextBox" type="text" value="hello,TextBox" />
TextBoxFor方法是一个强类型的扩展方法,它使用lambda表达式,为模型生成文本框;
TextBoxFor方法,绑定特定的模型属性到文本框中,所以会自动显示属性的值到文本框中;
签名:
MvcHtmlString TextBoxFor(Expression<Func<TModel,TValue>> expression, object htmlAttributes)
Visit MSDN to know all the overloads of TextBoxFor() method.
Example:
@Html.TextBoxFor(m => m.StudentName, new { @class="form-control"})
生成:
<input class="form-control" id="StudentName" name="StudentName" type="text" value="" />
效果图:
在上面的例子中,TextBoxFor第一个参数是一个lambda表达式,指定这个StudentName属性,并绑定到文本框中,以其名称生成了id和name属性的值,如果StudentName属性值是Tom ,那么,文本框中就会显示Tom;
标签:
原文地址:http://www.cnblogs.com/caofangsheng/p/4811663.html