asp.net mvc框架中有自带的HtmlHelper和UrlHelper两个帮助类简直是神器,我们不用再一点点写代码,只需一句简单的@html就可以了下面详细介绍一下
一、@Html.ActionLink()概述
在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁。通过浏览器依然会解析成传统的a标签。除此之外,还允许我们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。
1.1、@Html.ActionLink()的使用详解
1. @Html.ActionLink(“linkText”, “actionName”)
这种重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器。
例如,当前页面的控制器为ProductsController:@Html.ActionLink(“detial”, “Detial”)会生成detail
2. @Html.ActionLink(“linkText”, “actionName”, “controllerName”)
该重载比第一个重载多了一个参数,他指定了控制器的名称。
例如,@Html.ActionLink(“detail”, “Detail”, “Products”)会生成detail
3. @Html.ActionLink(“linkText”, “actionName”, routeValues)
相对于上一种重载,该重载新增了routeValue参数,routeValue可以向action传递参数。
例如,@Html.ActionLink(“detail”, “Detail”, new{ id = 1 })会生成detail
4. @Html.ActionLink(“linkText”, “actionName”, routeValues, htmlAttributes)
htmlAttribute可以设置标签的属性。
例如,@Html.ActionLink(“detail”, “Detail”, new{ id = 1 }, new{ target = “_blank” })会生成detail,需要注意的是如果写成new{ target=”_blank”, class=”className” }则会报错,因为Class是C#的关键字,此时应该写成@class=”className”。
5. @Html.ActionLink(“linkText”, “actionName”, “controllerName”, routeValues, htmlAttributes)
该种重载汇聚了以上此种重载的所有参数,是功能最全的重载。
二 @Html.DropDownList()使用介绍
使用例子如下:
@{ var dropList = new List<SelectListItem>();
for (int i = 0; i < 5; i++)
{
var dropItem = new SelectListItem();
dropItem.Value = i.ToString();
dropItem.Text = i.ToString();
dropList.Add(dropItem);
}
}
@Html.DropDownList("myList", dropList, new { style = "width:100px;" })
MyList:id和name
droplist:数据
htmlAttributes:样式
三、表单
例子
3.1@Html.RadioButton()
<label>男</label>
@Html.RadioButton("Gender","1",true)
第一个参数id和name
第二个参数是value
第三个参数代表是否选中
3.2@Html.Password()
<label>密码</label>
@Html.Password("password","longgel") <br />
第一个是type
第二个是value
3.3@Html.TextArea()
<label>文本框</label>
@Html.TextArea("myTxtArea",new{style="width:300px; height:100px;"})
第一个参数是id
第二个参数是样式htmlAttributes
四、@Html.DisplayFor()和@Html.Display()
暂时感觉两种就是单纯的显示,如果model为空可能会报错
UrlHelper
五、@Url.Action()
@Url.Action("action1", "controller1", new RouteValueDictionary {{"id",1} }, "http或https", "www.baidu.com"),
第一个参数:页面名
第二个参数:控制器名称、
第三份参数:路由值、
第四个参数:要使用的协议和
第五个参数:完全限定 URL
简单例子
<a href='@Url.Action("Contact")' title="">指定Action名称生成URL</a><br />
<a href='@Url.Action("Contact", new {id=2,category=5 })' title="">指定Action名称和多个参数生成URL</a><br />
<a href='@Url.Action("Contact","HomeController","id")%>' title="">指定Action,Controller和一个参数生成URL</a><br />
<a href='@Url.Action("Contact","HomeController", new {id=2,category=5 },"https")' title="">指定传输协议生成URL</a><br />
六、@Url.Encode()生成加密url
<a href='@Url.Encode("http://www.cnblogs.com/")' title="">加密过的URL连接</a>