由Routename和Routevalues返回URL
-
29-09-2019 - |
题
我正在尝试通过Rutename和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
解决方案
实际上,此方法已经为您存在。
Html.RouteLink(string LinkText, string routeName, RoutevalueDictionary routeValues)
您唯一需要做的就是将您的IDictionary变成一个Routevaledationalary,这再次非常简单,因为RVD的构造函数可以采用IDictionary,从而使您免于在示例中进行foreach循环。
所以最后您需要的只是
Html.RouteLink(string LinkText, string routeName, new RoutevalueDictionary(parameters) )
不隶属于 StackOverflow