在ASP.NET MVC框架中没有了自己的控件,页面显示完全就回到了写html代码的年代。还好在asp.net mvc框架中也有自带的HtmlHelper和UrlHelper两个帮助类。另外在MvcContrib扩展项目中也有扩展一些帮助类,这样我们就不光只能使用完整的html来编写了需要显示的页面了,就可以使用这些帮助类来完成。
1.ActionLink
<div> @Html.ActionLink("这是一个测试", "Other", "Home"); 带有QueryString的写法 @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }); @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }, null); QueryString与Html属性同时存在 @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }, new { id = "link1" }) @Html.ActionLink("这是一个测试", "Other", new { page = 1 }, new { id = "link1" }) 实际用途(弹出新窗口) @Html.ActionLink("这是一个测试", "Other", "Home", new { page = 1 }, new { target = "_blank" }); </div>
生成结果: <div> <a href="/Home/Other">这是一个测试</a>; 带有QueryString的写法 <a href="/Home/Other?Length=4" page="1">这是一个测试</a>; <a href="/Home/Other?page=1">这是一个测试</a>; QueryString与Html属性同时存在 <a href="/Home/Other?page=1" id="link1">这是一个测试</a> <a href="/Home/Other?page=1" id="link1">这是一个测试</a> 实际用途(弹出新窗口) <a href="/Home/Other?page=1" target="_blank">这是一个测试</a>; </div>
2.RouteLink 跟ActionLink功能一样
<%=Html.RouteLink("关于", "about", new { })%> 带QueryString <%=Html.RouteLink("关于", "about", new { page = 1 })%> <%=Html.RouteLink("关于", "about", new { page = 1 }, new { id = "link1" })%> 生成结果: <a href="/about">关于</a> <a href="/about?page=1">关于</a> <a href="/about?page=1" id="link1">关于</a>
3.Form表单
<div> @using (Html.BeginForm("Other", "Home", FormMethod.Post, new { id = "myForm" })) { } </div>
生成结果: <div> <form action="/Home/Other" id="myForm" method="post"></form> </div>
4.TextBox和TextBoxFor
TextBox和TextBox的不同是,TextBoxFor里面可以存放Model的字段值,而TextBox不可以
<div> @Html.TextBox("txtName", "ChenChunXiao", new { style = "width:300px" }) @Html.TextBoxFor(a => a.CategoryName, new { @style = "width:300px;" }) </div> 生成结果 <input id="txtName" name="txtName" style="width:300px" type="text" value="ChenChunXiao" /> <input id="CategoryName" name="CategoryName" style="width:300px;" type="text" value="Beverages" />
参考
常用的:http://www.cnblogs.com/fishtreeyu/archive/2011/03/23/1992498.html
扩展方法:http://www.cnblogs.com/wenjiang/archive/2013/03/30/2990854.html
http://www.cnblogs.com/longgel/archive/2010/02/03/1662894.html
时间: 2024-11-02 11:06:35