在浏览器URL中输入路由值和使用RedirectToAction时,控制器操作方法未命中



我有一个MVC5应用程序,发布在远程服务器上,它有带有About ActionResult方法的HomeController,我有如下配置的RouteConfig.cs:

routes.MapRoute("Default", 
"{controller}/{action}", 
new { controller = "Home", action = "Login"});

然而,当我导航到发布URL 192.xxx.1.xx/MyApp时,登录表单会按预期打开,但在输入用户名和密码并提交表单后,其中提交重定向到HomeController中的Post方法登录,代码如下:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(SSERPService.UserName userName)
{
return RedirectToAction("About");
}

URL更改为192.xxx.1.xx/MyApp/Home/About,但页面显示"Nothing found"(控制器方法"About"似乎未命中(,当从浏览器URL选项卡手动输入"关于"页面的URL为"192.xxx.1.xx/MyApp/Home/About"时,也会发生同样的行为,页面显示"Nothing found",但是,当将RouteConfig"Default"更改为以下代码时:

routes.MapRoute("Default", 
"{controller}/{action}", 
new { controller = "Home", action = "About"});

然后导航到192.xxx.1.xx/MyApp,然后显示"关于"页面,浏览器中的URL保持为192.xxx.1.xx/MyAmp,

如何让浏览器URL选项卡中的手动输入URL和RedirectToAction显示预期页面"关于"?

注意:本地机器上发布的版本不会导致此问题,只有远程服务器上的托管版本

请告知,

提前感谢

您是否尝试过指定更多重定向,例如:

return RedirectToAction("About", "Home");

我还不能发表评论,所以我必须发布作为答案

相关内容

  • 没有找到相关文章

最新更新