Asp.net mvc 按routename和RouteValue返回url
我试图通过编程方式通过routename和RouteValue生成一个链接。我将路由和值存储在数据库中 如何调整此辅助对象以使其工作Asp.net mvc 按routename和RouteValue返回url,asp.net-mvc,asp.net-routing,Asp.net Mvc,Asp.net Routing,我试图通过编程方式通过routename和RouteValue生成一个链接。我将路由和值存储在数据库中 如何调整此辅助对象以使其工作 public static string GenerateLink(this HtmlHelper helper, string routeName, Dictionary<string, string> parameters) { // ?? RouteValueDictionary rd = new RouteValueDict
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;
}
publicstaticstringgenerateLink(此HtmlHelper帮助程序、字符串路由名称、字典参数)
{
// ??
RouteValueDictionary rd=新的RouteValueDictionary();
foreach(参数中的变量项)
{
rd.Add(item.Key,item.Value);
}
//字符串url=??
返回url;
}
要像这样使用它:
<%= Html.GenerateLink(Model.SomeLinkName, Model.RouteName, ..?) %>
/实际上,这种方法已经存在于您的应用程序中
Html.RouteLink(字符串LinkText、字符串routeName、RoutevalueDictionary routeValues)
您需要做的唯一一件事是将IDictionary转换为RouteValueDictionary,这同样非常简单,因为RVD的构造函数可以使用IDictionary,从而避免您执行示例中的foreach循环
所以最后你需要的是
Html.RouteLink(字符串LinkText、字符串routeName、新RoutevalueDictionary(参数))
如果我在Model.Routeparameters(.ParameterKey和.ParameterValue)中获得了值,我应该如何分配这些值?如果Model.Routeparameters属性已经是RoutevalueDictionary,您可以将其传递给Html.RouteLink:Html.RouteLink(“链接文本”、“路由名称”、Model.RouteParameters)