猿教程 Logo

HtmlHelper.Editor

我们已经看到了不同的HtmlHelper方法用于在前面的部分中生成不同的html元素。 ASP.NET MVC还包括一个基于数据类型生成html输入元素的方法。 Editor()或EditorFor()扩展方法基于模型对象的属性的数据类型生成html元素。

下表列出了通过Editor()或EditorFor()方法为每种数据类型创建的html元素。

属性数据类型Html元素
string<input type =“text”>
int<input type =“number”>
decimal,double<input type =“text”>
布尔<input type =“checkbox”>
枚举<input type =“text”>
DateTime<input type =“datetime”>

我们将使用以下模型类演示Editor和EditorFor方法。

相关实例:

public class Student
{
    public int StudentId { get; set; }
    [Display(Name="Name")]
    public string StudentName { get; set; }
    public int Age { get; set; }
    public bool isNewlyEnrolled { get; set; }
    public string Password { get; set; }
    public DateTime DoB { get; set; }
}

Editor():

Editor()方法需要一个字符串表达式参数来指定属性名称。 它基于指定属性的数据类型创建一个html元素。

Editor()签名:MvcHtmlString Editor(string propertyname)

访问MSDN了解Editor()方法的所有重载

参考下面的例子来理解Editor()方法。

相关实例:

StudentId:      @Html.Editor("StudentId")
Student Name:   @Html.Editor("StudentName")
Age:            @Html.Editor("Age")
Password:       @Html.Editor("Password")
isNewlyEnrolled: @Html.Editor("isNewlyEnrolled")
Gender:         @Html.Editor("Gender")
DoB:            @Html.Editor("DoB")


在上面的示例中,我们将Student模型的属性名称指定为字符串。 因此,Editor()方法基于数据类型创建了适当的输入元素,如上图所示。


EditorFor:

EditorFor()方法是一个强类型方法。 它需要lambda表达式来指定模型对象的属性。

EditorFor()签名:MvcHtmlString EditorFor(<Expression <Func <TModel,TValue >> expression)

访问MSDN了解EditorFor()方法的所有重载

相关实例:

StudentId:      @Html.EditorFor(m => m.StudentId)
Student Name:   @Html.EditorFor(m => m.StudentName)
Age:            @Html.EditorFor(m => m.Age)
Password:       @Html.EditorFor(m => m.Password)
isNewlyEnrolled: @Html.EditorFor(m => m.isNewlyEnrolled)
Gender:         @Html.EditorFor(m => m.Gender)
DoB:            @Html.EditorFor(m => m.DoB)


在上面的EditorFor()方法的例子中,我们使用lambda表达式指定了属性名。 结果将与Editor()方法相同,如上图所示。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/mvc/mvc-HtmlHelper-Editor.html