我有一个通用方法,可以根据当前控制器,当前操作和当前可选参数(如果有)生成链接结构。
public static string GetLink(this HtmlHelper helper, RouteData routeData) {
...
foreach(var item in routeData.Values){
if(!item.key.Equals("controller") && !item.key.Equals("action")) {
url = helper.ActionLink("text link", "myAction", "myController",
new { /* here I want to convert item.Key to anonymous param */ = "2" } );
}
}
}
我发表评论/* here I want to convert item.Key to anonymous param */
如何实现这一目标?
由于
我解决了问题。请使用UrlHelper
代替HtmlHelper
并生成RouteValueDictionary
对象以放置匿名可选参数。
答案 0 :(得分:2)
尚未对此进行测试,但请尝试从您的项目和密钥中创建RouteValueDictionary
。
public static string GetLink(this HtmlHelper helper, RouteData routeData)
{
foreach(var item in routeData.Values)
{
if(!item.Key.Equals("controller") && !item.Key.Equals("action"))
{
var routeValues = new RouteValueDictionary(item);
var url = helper.ActionLink("text link", "myAction", "myController", routeValues, null);
}
}
}