如何生成其他MVC应用程序的链接?

时间:2013-11-29 13:31:23

标签: asp.net-mvc t4mvc

我已经创建了三个相关的ASP.NET MVC Web应用程序,就像这样:

root
|-Emailing
|-InternalManagement

根网站面向客户的位置。

这三个站点有不同的安全要求,我希望能够修改一个应用程序而不必担心打破其他两个。

但是,根管理站点和内部管理站点都需要有指向电子邮件站点的链接。

我正在使用T4MVC。

现在我通过修改HelpersPrefix,root和InternalManagement引用电子邮件分离了每个项目的T4MVC帮助程序,例如我可以执行以下操作:

Url.Action(MVCEmailing.CustomerDocuments.Index())

哪个几乎有效 - 除了生成的实际网址将是:

对于根应用程序:

http://mydomain.com/CustomerDocuments/Index

用于内部管理应用程序:

http://mydomain.com/internalManagement/CustomerDocuments/Index

在这两种情况下我需要的是生成的URL看起来像这样:

http://mydomain.com/emailing/CustomerDocuments/Index

这样做最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

T4MVC doc

复制
  

了解T4MVC的一个关键概念是它只是一个薄的   MVC上的图层。例如虽然它提供了强大的打字,但最终还是如此   只是将值放在字典中,并使用标准的MVC   生成路线。

     

当人们有疑问时,我经常建议的一件事是先行   弄清楚如果没有T4MVC他们会怎么做。如果你不知道   它是如何工作的,或者认为它根本不可能,那么你   可能期待太多的T4MVC!一般来说,它不会这样做   MVC不支持的任何内容。

在这种情况下,我不相信你可以用普通的MVC做到这一点,因为每个应用程序都不知道其他应用程序的路由。一般来说,我认为MVC路由不能使用当前应用之外的一般链接。