前言
ActionLink用于生成超链接,方法用于指向Controller的Action。
扩展方法与参数说明
ActionLink扩展方法如下:
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, RouteValueDictionary routeValues); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, RouteValueDictionary routeValues, IDictionary<string, object> htmlAttributes); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, RouteValueDictionary routeValues, IDictionary<string, object> htmlAttributes); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, string protocol, string hostName, string fragment, object routeValues, object htmlAttributes); public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, string protocol, string hostName, string fragment, RouteValueDictionary routeValues, IDictionary<string, object> htmlAttributes);
参数类型说明如下:
参数名称 | 参数说明 | 参数类型 |
linkText | 生成超链接所显示的文字 | string |
actionName | 向对应Action中的方法 | Object或RouteValueDictionary |
controllerName | 指定Conntroller的名称 | string |
htmlAttributes | 设置<a>标签的属性 | Object或RouteValueDictionary |
routeValues | 向对应的Action中传递的参数 | Object或RouteValueDictionary |
protocol | 指定访问协议如:http等 | string |
fragment | 指定访问锚点 | string |
hostName: | 指定访问域名 | string |
重载格式
重载方法一: ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName); 【默认在当前页面的控制器】
调用方式: @Html.ActionLink("我是一个超链接","About")
生成效果: <a href="/Home/About">我是一个超链接</a>
重载方法二: ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues); 【默认在当前页面的控制器】
调用方式: @Html.ActionLink("我是一个超链接", "About", new { ID = 1 })
生成效果: <a href="/Home/About/1">我是一个超链接</a>
重载方法三: ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, RouteValueDictionary routeValues);【默认在当前页面的控制器】
调用方式: @ {
RouteValueDictionary routevalue = new RouteValueDictionary();
routevalue["ID"] = 1;
routevalue["Type"] = "list";
}
@Html.ActionLink("我是一个超链接", "About", routevalue)
生成效果: <a href="/Home/About/1?Type=list">我是一个超链接</a>
重载方法四: ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName);
调用方式: @Html.ActionLink("我是一个超链接", "About", "Detail")
生成效果: <a href="/Detail/About">我是一个超链接</a>
重载方法五: ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes); 【默认在当前页面的控制器】
调用方式: @Html.ActionLink("我是一个超链接", "About", new { ID = 1 },new { @class = "activelink", target = "_blank" })
生成效果: <a class="activelink" href="/Home/About/1" target="_blank">我是一个超链接</a>