0

我正在尝试通过路由名称和路由值以编程方式生成链接。我将路线和值存储在数据库中。

如何调整此助手以使其正常工作?

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, ..?) %>

/米

4

1 回答 1

1

实际上,这种方法已经为您存在。

Html.RouteLink(string LinkText, string routeName, RoutevalueDictionary routeValues)

您唯一需要做的就是将您的 IDictionary 转换为 RouteValueDictionary,这同样非常简单,因为 RVD 的构造函数可以采用 IDictionary,从而避免您在示例中执行 foreach 循环。

所以最后你需要的是

Html.RouteLink(string LinkText, string routeName, new RoutevalueDictionary(parameters) )

于 2010-10-11T10:03:35.153 回答