以下使用参数文字说明:
- linkText:生成的链接所显示的文字 类型:string
- actionName:对应控制器的方法 类型:string
- routeValues:向对应的action传递的参数 类型:object 或 RouteValueDictionary
- controlName:指定控制器的名称 类型:string
- htmlAttributes:设置<a>标签的属性 类型:object 或 IDictionary
- protocol:指定访问协议如:http等 类型:string
- hostName:指定访问域名 类型:string
- fragment:指定访问锚点 类型:string
重载一:Html.ActionLink("linkText","actionName")【默认当前页面控制器】
调用:<%: Html.ActionLink("默认当前页面控制器", "About")%>
生成效果:<a href="/Home/About">默认当前页面控制器</a>
重载二:Html.ActionLink("linkText","actionName",routeValues)
调用:
routeValues Is object:
<%: Html.ActionLink("默认当前页面控制器", "About", new { id = 1, type = "Dic" })%>
routeValues Is RouteValueDictionary:
<%RouteValueDictionary Dictionary = new RouteValueDictionary();
Dictionary["id"] = 1;
Dictionary["type"] = "Dic";
%>
<%: Html.ActionLink("默认当前页面控制器", "About", Dictionary)%>
生成效果:<a href="/Home/About?classid=1">默认当前页面控制器</a>
重载三:Html.ActionLink("linkText","actionName","controlName")
调用:<%: Html.ActionLink("默认当前页面控制器", "About", "Home")%>
生成效果:<a href="/Home/About">默认当前页面控制器</a>
重载四:Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)
调用:
htmlAttributes Is object:
<%: Html.ActionLink("首页", "Index", "Home", null, new { @class = "active", target = "_blank" })%>【注:由于class是保留关键字,所以一定要写成@class】
htmlAttributes Is IDictionary:
<%IDictionary<string, object> AttrDictionary = new Dictionary<string, object>();
AttrDictionary["class"] = "active";
AttrDictionary["target"] = "_blank";
%>
生成效果:<a class="active" href="/" target="_blank">首页</a>
重载五:Html.ActionLink("linkText","actionName","controlName","protocol","hostName","fragment",routeValues,htmlAttributes)
调用:<%: Html.ActionLink("关于我们", "About", "Home", "http", "localhost", "top", null, null)%>
生成效果:<a href="http://localhost:12120/Home/About#top">关于我们</a>
以上的重载并非.NET中的重载,纯属为了方便查看、比较.
另外有几个问题没有找到答案
1、重载五 中的调用,怎么把端口去掉;也就是生成的效果不显示端口例如:http://www.cnblogs.com/Relict/
2、怎么在生成的链接中添加标签、和生成图片链接
附: