2012年8月23日星期四

MVC3常用的Html Helper

MVC3常用的Html Helper

1.ActionLink
其中最常用的就是Html.ActionLink
1.1基本的使用方式
1: <%=Html.ActionLink("这是一个连接", "Index", "Home")%>在UrlRouting规则为默认规则的情况下,它生成的HTML代码为1:<ahref="http://www.cnblogs.com//">这是一个连接</a>ActionLink中的三个参数分别为 (显示的文字 Action Controller)
其中Controller可以省略,省略时指向同一Controller下的Action。
1.2ActionLink中QueryString与Html属性设置
1: 带有QueryString的写法
2: <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page=1 },null)%>
3:<%=Html.ActionLink("这是一个连接", "Index", new { page=1 })%>
4: 有其它Html属性的写法
5: <%=Html.ActionLink("这是一个连接", "Index", "Home", new { id="link1" })%>
6: <%=Html.ActionLink("这是一个连接", "Index",null, new { id="link1" })%>
7: QueryString与Html属性同时存在
8: <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page = 1 }, new { id = "link1" })%>
9: <%=Html.ActionLink("这是一个连接","Index" , new { page = 1 }, new { id = "link1" })%>
其生成结果为:1: 带有QueryString的写法
2:<a href="http://www.cnblogs.com//?page=1">这是一个连接</a>
3:<a href="http://www.cnblogs.com//?page=1">这是一个连接</a>
4: 有其它Html属性的写法
5:<a href="http://www.cnblogs.com//?Length=4"id="link1">这是一个连接</a>
6:<a href="http://www.cnblogs.com//"id="link1">这是一个连接</a>
7: QueryString与Html属性同时存在
8:<ahref="http://www.cnblogs.com//?page=1"id="link1">这是一个连接</a>
9:<ahref="http://www.cnblogs.com//?page=1"id="link1">这是一个连接</a>
这样就可以使用ActionLink生成近乎所有的地址连接了。注意,如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了,
例如1:<ahref="#1">一章</a> 2:<ahref="javascript:void(0)"onclick="delete();">删除</a>
2.RouteLink2.1与ActionLink
RouteLink与ActionLink相差无几,只是它的地址是由Route生成拿上面的例子
1: <%=Html.ActionLink("这是一个连接", "Index", "Home")%> 来说,
如果用RouteLink来写就是
1: <%=Html.RouteLink("这是一个连接", new { controller="Home",action="Index"})%>
而带上QueryString以及Html属性的ActionLink
1: <%=Html.ActionLink("这是一个连接", "Index" , new { page = 1 }, new { id ="link1" })%>
就可以这样来写1: <%=Html.RouteLink("这是一个连接", new { action = "index", page = 1 }, new { id="link1"})%>
其实就是用一个新建立的RouteValueDictionary的对象(new{}所实例化的对象将会等价转换为RouteValueDictionary)来替原来的Action,Controller字符串

将<%= xxxxxxx %> 替换为@


TAG: