【问题标题】:Routing changes after deployment部署后的路由更改
【发布时间】:2014-03-11 16:24:59
【问题描述】:

部署到服务器后,我很难使用 MVC 进行导航。本地主机上一切正常,但这是我的情况:

使用 localhost 时,我的网址如下所示:

http://localhost:64407/Home/Index

当我使用应用程序名称“wfm”部署到我的 Intranet 服务器时,我的网址如下所示:

http://vm-pcm01/wfm/Home/Index

初始视图加载正常,但如果我在提交表单后返回另一个视图:

[HttpPost]
public ViewResult Signup(SignupForm SignupForm)
{
    return View("FormSubmitted");
}

这会将我定向到网址:

http://vm-pcm01/Home/Index

这给了我一个 404。我很困惑,因为我认为返回视图将与 IIS 中的应用程序路径相关......这在 localhost 上工作正常。

【问题讨论】:

    标签: asp.net-mvc routing asp.net-mvc-routing


    【解决方案1】:

    其实。我看到你调用了 SignupForm 但不使用它。

        return View("FormSubmitted", SignupForm);
    

    【讨论】:

    • 这实际上是我尝试的第一件事,但最初的视图是不存在的 wfm/wfm/home/index。初始视图正确加载,但从表单提交返回的任何视图都不起作用。我基本上只有一个表单,用户填写信息并提交它,然后它返回一个视图,上面写着“谢谢”,并带有一个返回主页的链接。部署后无法获得“谢谢”视图(在本地主机上工作)
    【解决方案2】:

    实际上,我确实需要它,这样我才能访问对象数据。特定于 URL 路由,但事实证明我是粗心大意的。我必须将表单的“action”属性设置为我的帖子的 url 操作:

    @Url.Action("PostForm","Home")
    

    我仍然将它设置为“Home/PostForm”,这让我无处可去'

    然后将其重定向到表单提交的操作,并且它可以正常工作

    对不起

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-04
      • 2022-01-08
      • 2017-11-08
      • 1970-01-01
      • 2021-11-28
      • 2016-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多