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