MVC:从Complex数据类型中提取RouteValues

时间:2014-09-13 14:09:24

标签: asp.net-mvc html-helper

我想将routeValues作为复杂的数据类型传递给HtmlHelper,而不是使用匿名类型。

例如

@Html.Navigator("Title", Model.SearchCriteria)

而不是

@Html.Navigator("Title", new {startDate=Model.StartDate, filter=Model.Filter, ...and so on})

后者我使用:

public static MvcHtmlString Navigator(this HtmlHelper html, string title, object routeValues)

anchorBuilder.MergeAttribute("href", url.Action(action, routeValues));

添加routeValues。

无法解决如何为SearchCriteria执行此操作。 有什么建议,指点..?

问候,盖伊

1 个答案:

答案 0 :(得分:0)

您可以基于对象创建新的RouteValuesDictionary。假设Model.SearchCriteriaSearchCriteria

的类型
public static MvcHtmlString Navigator(this HtmlHelper html, string title, SearchCriteria searchCriteria)
{
  RouteValuesDictionary routeValues = new RouteValuesDictionary(searchCriteria);