首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当将ASP.MVC 3应用程序部署到子文件夹(而不是根)时,如何处理路由?

当将ASP.MVC 3应用程序部署到子文件夹(而不是根)时,如何处理路由?
EN

Stack Overflow用户
提问于 2011-06-09 21:44:27
回答 2查看 1.2K关注 0票数 1

我正在本地计算机上开发一个ASP.MVC 3项目,它位于本地web服务器的根部。

代码语言:javascript
复制
localhost:12345/(project is here)

但是,当我部署到公共web服务器时,此应用程序将位于子文件夹中。

代码语言:javascript
复制
www.mycompany.com/myapp/(project goes here)

我该如何处理这种错配呢?我想到了几个问题:

  1. 我需要调整我的MVC路线吗?或者他们会在/myapp/?
  2. 之后捕捉任何东西,当我真的不希望'Home‘出现在路线上时,我会使用HomeController吗?也就是说,/myapp/ Home /(action)/(id) --相反,我想要这样: /myapp/(action)/(id)如果Home是我的本地机器上匹配这个文件夹结构的controller.
  3. Should?(本项目将永远无法访问“myapp”文件夹之外的任何内容)
  4. (如果3是的话,如何访问?

我在本地使用VS 2010和IIS Express。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-09 21:58:58

  1. 路由相对于web应用程序。这意味着您不需要在您的路线上有/myapp/,
  2. ,不,您不需要在路由中显示Home。就我个人而言,我采取默认路径。
  3. 不,您不需要匹配这个文件夹结构。
票数 2
EN

Stack Overflow用户

发布于 2011-07-27 21:10:42

根据我们的经验,我发现在管制员内部,路线是没有问题的。

但是,如果在视图中使用helpers (如Html.BeginForm或Html.Action ),则这些方法不适用于接收控制器、操作参数的重载方法。您需要使用Url.Content将整个Url放到helpers中,

这样做是行不通的:

代码语言:javascript
复制
Html.BeginForm()

代码语言:javascript
复制
Html.BeginForm("ResetPassword", "Account")

但这样做是可行的:

代码语言:javascript
复制
Html.BeginForm(Url.Content("~/Account/ResetPassword");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6299696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档