我不确定说出我想要完成的内容的正确方法,而且我绝对不是MVC专家。所以,我不确定处理这个的最佳方法。我觉得应该有一个比我目前所想的更优雅,基于MVC的方法。
我的网站的物理结构类似于以下内容:
www.example.com(网络表单申请)
-red(父Web表单应用程序中的本机文件夹)
-blue(mvc subapplication)
因此,默认情况下,网址如下:
www.example.com/red/test.aspx
www.example.com/blue/controller/action
对于某些控制器,我需要
www.example.com/blue/controller/action
转而在公开显示的网址上
www.example.com/的绿色 /控制器/动作
到目前为止,我已在父/ root网站中使用重写规则完成了此操作。但是,mvc子应用程序本身并不了解某些请求存在于伪文件夹下。因此,当我使用html.BeginForm为www.example.com/green/controller/action请求的页面呈现表单时,它将表单的操作呈现为/ blue / controller / action。除了出站重写规则之外,还有什么可以教授"教育"关于选择控制器的新根路径的mvc子应用程序?在启动时注册路由时是否有一些配置?有关处理此问题的最佳方法的任何其他建议吗?现在,请记住,从蓝色到绿色的重写不是整个子应用程序。某些控制器需要重写为橙色等等。
显然,颜色的使用只是一个例子。 : - )