从控制器传递导航/链接信息以查看的最佳方式?

问题描述:

在ASP.NET MVC应用程序中,我有一个页面,其中包含指向应用程序中不同页面的链接的动态生成列表。控制器将链接信息传递给视图的最佳方式是什么?从控制器传递导航/链接信息以查看的最佳方式?

我想保持视图尽可能简单,我假设在控制器中生成URL是错误的(特定于UI,使得单元测试更加困难等),所以对于每个链接,我当前都传递一个操作字符串,一个控制器字符串和一个RouteValueDictionary对象。然后我在视图中使用URL.Action()来创建链接。这是最好的方式还是有一个整洁的方式,不涉及每个链接三个单独的对象?

我们只通过一个RouteValueDictionary,而不是传递那个+2个字符串。 RVD允许拥有controlleraction成员。您可以通过null获得action参数,并且将使用RVD的action成员。