我正在尝试通过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) )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top