MVC5高级编程_表单和html辅助方法

使用HTML辅助方法关键在于 确保HTML页面链接中的URL指向正确的位置、表单元素拥有适用于模型绑定的合适名称和值,以及当模型 绑定失败时其他元素能够显示相应的错误提示消息。

1.表单的使用
     @using(Html.BeginForm("Searhch", "Home", FormMethod.Get,new { target = "_blank", @class="editForm", data-validatable=true })){
          <input type="text" name="q" />
          <input type="submit" value="Search" />
     }
     在保护代码安全、代码优雅的前提下,也给出了适当程序的控制。第4个参数中 在和关键字冲突时,在前面加一个@符号,在渲染HTML属性中的下划线转换为连字符。
    
    
2.HTML辅助方法
     所有输出模型值的辅助方法都会在渲染之前,对值进行HTML编码。可以避免站点脚本攻击。
    
     弱类型辅助方法:
     Html.TextBox方法渲染一个type特性为text的input标签。
     Html.TestArea方法渲染一个能够显示多行文本的<textarea>元素
     Html.Label辅助方法返回一个<label>元素
     Html.DropDownLIst 返回一个单项选择的<select>元素。
     Html.ListBox 返回一个多项选择的<select>元素。
     上面这两个方法使用时还需要些特定的信息,SelectListItem对象集合,可以使用框架中的SelectList或MultiSelectLIst辅助方法类来构建。
     Html.ValidationMessage,当ModelState中某一字段出现错误时,可以显示相应的错误提示消息。
    
     对应强类型辅助方法:
     Html.TextBoxFor     Html.TestAreaFor Html.LabelFor Html.DropDownLIstFor Html.ListBoxFor     Html.ValidationMessageFor
    
     模板辅助方法:
     Html.Editor     Html.EditorFor 方法可能通过使用数据注解来改变生成的HTML
    
     生成只读的HTML辅助方法
     Html.Display     Html.DisplayFor
    
     Html.Hidden 辅助方法用于渲染隐藏的输入元素,它的强类型版本是Html.HidderFor
     Html.Password 用于渲染密码字段。强类型Html.PasswordFor
     Html.RadioButton  使用时多个方法组合在一起,生成一组单项选择的Html. 强类型Html.RadioButtonFor
     Html.CheckBox  唯一一个渲染两输入元素的辅助方法。它生成一个选中的CheckBox类型的input,一个false值的隐藏域。这样做的原图是HTML中浏览器只提交选中的复选框的值,生成两个可以保证这个复选框Name属性有一个值会被提交。
    
     渲染辅助方法:
     Html.AcitonLink方法能够渲染一个超链接,重载版本还可添加入路由的信息。
     Html.RouteLin 方法和Html.ActionLink模式相同,只能接受路由名称,而不能接收控制器名称和操作名称。
    
     URL辅助方法:
     与HTML的ActionLink和RouteLink辅助方法相似,但不是以HTML标记的形式返回构建的URL,而是以字符串的形式返回URL。
     Url.Action显示文本形式的URL。
     Url.RouteUrl和Action遵循同样的模式,但它只接受路由名,不接收控制器和操作名称。
     Url.Content 把应用程序的相对路径转换成绝对路径。
    
     Html.Partial用于将部分视力渲染成字条串,它的重载版本可以为视力传递Model强类型数据对象和iewDataDicionary对象。     Html.RenderPartial方法不是返回字符串。而是直接写入响应输出流。使用时,必须把RenderPartial放入代码块中,而不能入在代码表达式中。
    
     Html.Action Html.RenderAction 请控制器并获取响应的字符串。

  Ajax的辅助方法在后面介绍

你可能感兴趣的:(MVC5高级编程_表单和html辅助方法)