当前位置:首页 > Web开发 > 正文

因为是直接的载入

2024-03-31 Web开发

HTML帮助要领(HTML Helper)用来帮助孕育产生HTML,在开发View的时候会面对许多HTML标签,措置惩罚惩罚这些HTML标签非常繁琐,为了降低View的庞大度,可以使用HTML帮助要领辅佐你孕育产生一些HTML标签或内容,因这些HTML标签都有固定标准的写法,所以将其包装成HTML帮助要领,可让View开发更快速,也可以制止不须要的语法错误。

ASP.NET MVC中内建了许多HTML帮助要领,这些HTML帮助要领都是操作C#3.0的扩充要领特性,将各类差此外HTML帮助要领扩充在HtmlHelper类别里,并且都拥有多载。

通过HTML帮助要领可以有效协助你面对常见但又繁琐的HTML编写事情,例如,超链接、表单声明(<form>)、表单元素(<input>、<select>、<textarea>)、HTML编码与解码、载入其他分部视图页面(Partial View Page)、显示Model验证掉败的错误信息等,撰写ASP.NET MVC必然少不了它。

1.使用HTML帮助要领输出超链接

      在开发View页面时最常用的HTML帮助要领莫过于输出超链接,在View中输出ASP.NET MVC的超链接凡是会用Html.ActionLink帮助要领,该要领用于孕育产生文字链接,其文字部分会自动进行HTML编码(HtmlEncode)。具体使用情况如下所示。

语法典型   说明  
@Html.ActionLink("链接文字","ActionName")   这是最根基的用法,要跳转的控制器为本视图地址的控制器。链接文字不成为空字符串、空白字符串或null值,否则会抛出The Value cannot be null or empty的异常。  
@Html.ActionLink("链接文字","ActionName","ControllerName")   指定链接文字、行动、控制器  
@Html.ActionLink("链接文字","ActionName",new{id=123,page=5})   当需要设定特别的RouteValue时,可以在第三个参数传入object类型的数据  
@Html.ActionLink("链接文字","ActionName",null,new{@class="btnLink"})  

当需要传入超链接特别的HTML属性时,可以将参数加载第四个参数上。

请注意:由于HTML标签里在套用CSS样式类型时会用到class属性名称,而在C#里class属于关键字,所以必需使用@class的方法,才华确保C#正确编译。

别的,如果要输出HTML属性包孕减号(-)时,例如data-value属性,应使用“_”下划线取代。

 
 @Html.ActionLink("链接文字","ActionName","ControllerName", null,new{@class="btnLink"})  

5个参数

 

使用Html.AcionLink()时,第一个参数为超链接的显示文字,此参数不成以输入空字符串、空白字符串或null值,否则会跑出The Value cannot be null or empty的异常。

如果想设计一个包罗超链接的图片按钮,可选择用<a>超链接标签来输出,并通过CSS加上一个配景图,如下。

<a href="http://www.mamicode.com/@Url.Action("ActionName")"></a>

ASP.NET MVC还有另一个Html.RouteLink帮助要领,其用法与Html.ActionLink非常相似,分歧仅在于输入的参数要以RouteValue为主

2.使用HTML帮助要领输出表单

(1)孕育产生表单元素

在使用表单之前,大家应该已经看过好几遍关于Html.BeginForm()的使用,该帮助要领主要用来孕育产生<form>标签,可以通过using语法来使用,也可以共同Html.EndForm()使用以孕育产生适当的</form>表单结尾。以下是几个Html.BeginForm()的代码典型。

a.使用using语法孕育产生表单标签

@using(Html.BeginForm("About","Home")) //参数1:actionName 参数2:controllerName { @Html.TextArea("Date") @Html.TextArea("MEMO") <input type="submit"/> }

b.使用Html.BeginForm帮助要领输出的表单预设输出的method属性会是POST,如果想指定为GET的话,可以输入第三个参数,如下。

@using(Html.BeginForm("Search","Home",FormMethod.Get)) { @Html.TextArea("Keyword") <input type="submit" /> }

c.如果想要用HTML表单实现文件上传的成果,那么必需在输出的<form>表单标签加上一个enctype属性,且内容必需设定为multipart/form-data,如下。

@using(Html.BeginForm("Upload","File",FormMethod.Post,new{enctype="multipart/form-data"})) { @Html.TextBox("File1","",new{type="file",size="25"}) <input type="submit"/> }

Html帮助要领并没有File要领,因此必需用TextBox要领来取代,并传入第三个参数将内建的type属性换成file即可。

(2)常用表单输入元素

Html.BeginForm(),输出<form>标签

Html.EndForm(),输出</form>标签

Html.Label(),输出<label>标签

Html.TextBox(),输出<input type="text">标签

Html.TextArea(),输出<textarea>标签

Html.Password(),输出<input type="password">标签

Html.CheckBox(),输出<input type="checkbox">标签

Html.RadionButton(),输出<input type="radio">标签

Html.DropDownList(),输出<select>标签。

Html.ListBox(),输出<select multiple>标签

Html.Hidden(),输出<input type="hidden">标签

Html.ValidationSummary(),输出表单验证掉败时的错误信息摘要

a.标签的使用

@Html.Label("Username","账户") @Html.TextBox("Username")

b.文本框的使用

Html.TextBox的重载如下:

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31102.html