我正在我的本地计算机上开发一个ASP.MVC 3项目,它位于本地Web服务器的根目录下。
localhost:12345/(project is here)
但是,当我部署到我们的公共Web服务器时,此应用程序将位于子文件夹
中www.mycompany.com/myapp/(project goes here)
我该如何处理这种不匹配?想到几个问题:
我是否需要调整我的MVC路线?或者他们会在/ myapp /?
当我真的不希望'Home'出现在路线中时,我是否会使用HomeController? ie / myapp / home /(action)/(id) - 我想要这个:/ myapp /(action)/(id)如果Home是控制器。
我应该在本地计算机上匹配此文件夹结构吗? (此项目永远不会访问'myapp'文件夹之外的任何内容)
如果3是,是怎么回事?
我在本地使用VS 2010和IIS Express。
答案 0 :(得分:2)
答案 1 :(得分:2)
根据我们的经验,我发现在控制器中路线没有问题。
但是,如果在视图中使用HTML帮助程序,例如Html.BeginForm或Html.Action,则这些辅助程序不适用于接收控制器,操作参数的重载方法。您需要使用Url.Content,
将整个Url放在Html助手中这不起作用:
Html.BeginForm()
或
Html.BeginForm("ResetPassword", "Account")
但这有效:
Html.BeginForm(Url.Content("~/Account/ResetPassword");