一点ASP.NET MVC Html.Helper类的方法
一点ASP.NET MVC Html.Helper类
这里就只写一个Html.ActionLink()和Html.DropdownList()。
Html.ActionLink()里有三个参数,第一个是链接的名字,第二个是视图的名字,第三个是控制器的名字。以下附一下其视图的代码和控制器的代码。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 7 namespace _1110HtmlHelper.Controllers 8 { 9 public class Default1Controller : Controller 10 { 11 // 12 // GET: /Default1/ 13 public ActionResult Index() 14 { 15 ViewData["time"] = DateTime.Now.ToString(); 16 ViewData["city"] = new List <SelectListItem>() 17 { 18 new SelectListItem(){Selected = false,Text="洞庭湖北",Value="1"}, 19 new SelectListItem(){Selected = false,Text="孝感天下",Value="2"}, 20 new SelectListItem(){Selected=false,Text="恍然大悟",Value = "3"} 21 }; 22 return View(); 23 } 24 public ActionResult Lianjie() 25 { 26 return Content("小杜同学你已成功链接到此位置了。"); 27 //此处的Content()也就相当于context.Response(); 28 } 29 } 30 }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 2 3 <!DOCTYPE html> 4 5 <html> 6 <head runat="server"> 7 <meta name="viewport" content="width=device-width" /> 8 <title>Index</title> 9 </head> 10 <body> 11 <div> 12 当前时间是: <%=ViewData["time"] %> 13 <hr/> 14 <h3>这是我自己写的超链接</h3> 15 <a href="/default1/lianjie">小杜自己写的超链接</a> 16 <hr /> 17 <h3>这是用htmlHelper写的超链接</h3> 18 <%=Html. ActionLink("htmlHelper的超链接","Lianjie","Default1")%> 19 <hr/> 20 <%=Html.DropDownList("city") %> 21 </div> 22 </body> 23 </html>
那么上面我是有用分割线分开,一个是我自己写的超链接,一个是用Html.ActionHelper写的链接。他们的区别呢,就在于当我们改了Global.asax.cs里路由规则,比如将本来是{controller}/{action}/{id}改成{controller}-{action}-{id},因为我们自己写的链接就相当于写死的字符串,就找不到链接的页面了。而如果是用Html.ActionLink()写的只是需要当请求地址的时候改原本写“/”的位置改成“-”就可以了。
Html.DropdownList()就相当于是下拉列表。其写法呢,也就是在前台写一个ViewData[],括号里写要的是选择元素的名称,new一个选择的集合,为之赋值,其有三个参数,第一个是是否默认选中,第二个是显示的值,第三个就是选定项的值。视图那个位置也就是Html.DropdownList("选择元素的名称")仔细看一下上面的代码也就会清楚的。
小附一下我的截图。
最后说一下,也许你一定知道我是哪里人了。