• @Html.EditorFor() 用法


    @Html.EditorFor()
    返回一个由表达式表示的对象中的每个属性所对应的input元素,主要是针对强类型,一般这种方式用得多些
    a、@Html.EditorFor(mode=>mode.Name)
    如果返回的View给Student实体赋予值,则输出输出<input class="text-box single-line" id="Name" name="Name" type="text" value="默认值" />否则Value为"";
    b、@Html.EditorFor(mode=>mode.Name,"templateName")
    第二个参数为模版名称,模版的定义:
    首先在目录View/Shared/建立文件夹EditorTemplates/templateName.cshtml 即:View/Shared/EditorTemplates/templateName.cshtml
    注:这务必用EditorTemplates作为文件夹
    templateName.cshtml代码为: @Html.DropDownList("",new SelectList(new []{"1","2","3"}))表示一个值为1,2,3的下拉列表
    这时就可以调用@Html.EditorFor(mode=>mode.Name,"templateName"),则显示成一个下拉列表,如果模版中设置的一个文本框则显示成文本框。
    同时,也可以在实体Student中的Name属性加上[UIHint("templateName")]特性 如果加上这个则可在调用的时候不用显示指定模版名称
    用@Html.EditorFor(mode=>mode.Name)即可显示成下拉框,同时所有用这个字段的都将变成下拉列表
    相当与Html中的Input控件
    @Html.EditorFor(model=>model.Age)
    页面显示为:   <input id="Age" name="Age" type="text" value="" />
    3、 @Html.EditorForModel()
    如果使用默认值,不带任何参数,则循环显示Model中所有的信息,不过需要放在循环中
    如:<input class="text-box single-line" id="Name" name="Name" type="text" value="" />
       <input class="text-box single-line" id="Age" name="Age" type="text" value="" />

    其实关于b 我发现 @Html.EditorFor(mode=>mode.Name,"templateName") 写成

    @Html.EditorFor(mode=>mode.Name,@Html.DropDownList("",new SelectList(new []{"1","2","3"})) 也可以但是生成Html后还是Input 还是不太明白。

    其实最初的想法就是要用DropDownList 控件。后来进一步学习才明白如果要用DropDownList又绑定model有可以直接用控件@Html.DropDownListFor

    @Html.DropDownListFor(model=>model.字段名,ViewData["参数名"] as SelectList);

  • 相关阅读:
    windchill系统安装大概步骤
    Javase、Javaee、Javame的区别
    Cocoa Touch事件处理流程--响应者链
    iOS KVC & KVO
    GET异步 请求图片步骤
    iOS7——图像资源Images Assets
    IOS编程教程(八):在你的应用程序添加启动画面
    Objective C内存管理之理解autorelease------面试题
    runtime 运行时机制 完全解读
    图片的异步下载
  • 原文地址:https://www.cnblogs.com/dangkei/p/3782074.html
Copyright © 2020-2023  润新知