ASP.NET MVC Action链接在自己的类中

时间:2009-10-13 09:19:06

标签: asp.net asp.net-mvc url-routing

我需要在控制器外部生成动作链接。

我可以在视图中使用Html.Action,在控制器中使用Url.Action。那很好但是......

我有自己的课程,我想为网站菜单生成HTML代码,该代码在site.master中使用。但是如何在我自己的班级中生成动作链接?可能的解决方案是在BaseController中生成这个HTML代码,但我不想这样做,因为我的类应该是独立的,能够生成正确的链接。

我已经用Google搜索了一小时,但没有找到解决方案。

有任何帮助吗?感谢

2 个答案:

答案 0 :(得分:1)

动作链接生成取决于路由配置和控制器上下文。这两个都只能在实际的ASP.NET MVC管道中使用。试想一下:如果我告诉你生成一个动作链接,但没有告诉你任何关于网络应用程序的信息,你会怎么做呢?

如果您担心SOLID,为什么不将[{1}},UrlHelperHtmlHelper注入生成操作链接的班级?

ControllerContext

答案 1 :(得分:1)

传递给Html对象的引用,以便在实例化类时在方法中使用它。您可以在实例化菜单对象时执行此操作,或者在每个函数调用时执行此操作(如果它们是静态的)。