我已经创建了三个相关的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
这样做最好的方法是什么?
答案 0 :(得分:1)
了解T4MVC的一个关键概念是它只是一个薄的 MVC上的图层。例如虽然它提供了强大的打字,但最终还是如此 只是将值放在字典中,并使用标准的MVC 生成路线。
当人们有疑问时,我经常建议的一件事是先行 弄清楚如果没有T4MVC他们会怎么做。如果你不知道 它是如何工作的,或者认为它根本不可能,那么你 可能期待太多的T4MVC!一般来说,它不会这样做 MVC不支持的任何内容。
在这种情况下,我不相信你可以用普通的MVC做到这一点,因为每个应用程序都不知道其他应用程序的路由。一般来说,我认为MVC路由不能使用当前应用之外的一般链接。