我正在尝试以编程方式生成routename和routevalues的链接。我将路由和值存储在数据库中。
如何调整此帮助程序才能使其正常工作?
public static string GenerateLink(this HtmlHelper helper, string routeName, Dictionary<string, string> parameters)
{
// ??
RouteValueDictionary rd = new RouteValueDictionary();
foreach (var item in parameters)
{
rd.Add(item.Key, item.Value);
}
// string url = ??
return url;
}
使用它像:
<%= Html.GenerateLink(Model.SomeLinkName, Model.RouteName, ..?) %>
/ M
答案 0 :(得分:1)
实际上这种方法已经存在。
Html.RouteLink(string LinkText, string routeName, RoutevalueDictionary routeValues)
您唯一需要做的就是将您的IDictionary转换为RouteValueDictionary,这也很简单,因为RVD的构造函数可以使用IDictionary,这样可以避免在示例中执行foreach循环。
所以你最需要的就是
Html.RouteLink(string LinkText, string routeName, new RoutevalueDictionary(parameters) )