我有一个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");
我还不能发表评论,所以我必须发布作为答案