UrlHelper、HtmlHelper的使用
UrlHelper、HtmlHelper的使用一、UrlHelper的定义
public class UrlHelper { //其他成员 public UrlHelper(RequestContext requestContext); public UrlHelper(RequestContext requestContext, RouteCollection routeCollection); public RequestContext RequestContext { get; } public RouteCollection RouteCollection { get; } }
二、UrlHelper的使用
UrlHelper提供了四个非常常用的四个方法
1.Action方法通过提供Controller,Action和各种参数生成一个URL,
2.Content方法是将一个虚拟的,相对的路径转换到应用程序的绝对路径,
3.Encode方法是对URL地址进行加密,与Server.Encode方法一样。
4.方法是提供在当前应用程序中规定的路由规则中匹配出URL。
另外还有两个属性,分别是RequestContext和RouteCollection两个属性,分别指的是包含HTTP上下文和RouteData两个属性,另外,RouteCollection是整个当前应用程序中规定的路由规则。
1.使用Action方法生成URL(Controller将是默认的)
指定Act
Url.Act
指定Act
Url.Act
指定Act
Url.Act
指定Act
Url.Act
指定Act
Url.Act
指定Act
Url.Act
2.使用Content方法将虚拟(相对)路径生成为绝对路径
Url.Content("~/DemoController/DemoAction")
3.使用RouteUrl生成URL
public class UrlHelper
{
//其他成员
public string RouteUrl(object routeValues);
public string RouteUrl(string routeName);
public string RouteUrl(RouteValueDictionary routeValues);
public string RouteUrl(string routeName, object routeValues);
public string RouteUrl(string routeName, RouteValueDictionary routeValues);
public string RouteUrl(string routeName, object routeValues, string protocol);
public string RouteUrl(string routeName, RouteValueDictionary routeValues, string protocol, string hostName);
}
三、HtmlHelper的定义
public class HtmlHelper
{
//其他成员
public HtmlHelper(ViewContext viewContext, IViewDataContainer viewDataContainer);
public HtmlHelper(ViewContext viewContext, IViewDataContainer viewDataContainer, RouteCollection routeCollection);
public RouteCollection RouteCollection { get; }
public ViewContext ViewContext { get; }
}
public class ViewContext : ControllerContext
{
//省略成员
}
public class ControllerContext
{
//其他成员
public RequestContext RequestContext { get; set; }
public virtual RouteData RouteData { get; set; }
}
四、HtmlHelper使用
1.使用HtmlHelper生成超链接
Html.ActionLink("我是超链接","")
2.使用HtmlHelper生成表单
Html.BeginForm("Index", "Simple", FormMethod.Post, new { id = "myForm" });
Html.EndForm();
3.使用HtmlHelper根据路由规则生成表单
Html.BeginRouteForm(new { controller = "Simple", act
Html.EndForm();
4.使用HtmlHelper生成一个复选框
Html.CheckBox("checkBox",new { id="myCheckBox" }) 复选框
5.使用HtmlHelper生成隐藏域
Html.Hidden("hidden")
6.使用HtmlHelper生成密码输入框
Html.Password("password","longgel")
7.使用HtmlHelper生成单选框
Html.RadioButton("radio","boy",true) 男
Html.RadioButton("radio","girl",false) 女
10.使用HtmlHelper生成部分视图(用户控件)
Html.RenderPartial("PartialView");
11.使用HtmlHelper根据路由规则生成超链接
Html.RouteLink("我是由路由生成的超链接",new {controller="Simple",act
12.使用HtmlHelper生成富文本框
Html.TextArea("myTxtArea",new{style="width:300px; height:100px;"})
13.使用HtmlHelper生成文本框
Html.TextBox("myTxtBox","我是文本框")
另外HtmlHelper中还有ValidationMessage()和 ValidationSummary()等方法,用于验证的时候使用。