asp.net-mvc - 在浏览器 URL 中输入路由值和使用 RedirectToAction 时控制器操作方法未命中?
问题描述
我有一个 MVC5 应用程序,发布在远程服务器上,它有 HomeController 和 About ActionResult 方法,我的 RouteConfig.cs 配置如下:
routes.MapRoute("Default",
"{controller}/{action}",
new { controller = "Home", action = "Login"});
但是,当我导航到作为 192.xxx.1.xx/MyApp 的发布 URL 时,登录表单按预期打开,但是在输入用户名和密码并提交表单后,提交重定向到 HomeController 中的 Post Method Login ,如下所示代码:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(SSERPService.UserName userName)
{
return RedirectToAction("About");
}
URL 更改为 192.xxx.1.xx/MyApp/Home/About,但页面显示“Nothing found”(控制器方法“About”似乎没有被命中),当输入 URL 到 About从浏览器 URL 选项卡中手动将页面设置为“192.xxx.1.xx/MyApp/Home/About”,其中页面显示“未找到”,但是,当将 RouteConfig 更改为“默认”时,如下代码:
routes.MapRoute("Default",
"{controller}/{action}",
new { controller = "Home", action = "About"});
然后导航到 192.xxx.1.xx/MyApp,然后显示“关于”页面,浏览器中的 URL 保持为 192.xxx.1.xx/MyApp,
如何让浏览器 URL 选项卡中手动输入的 URL 和 RedirectToAction 显示预期的页面“关于”?
注意:本地机器上发布的版本不会导致这个问题,只有远程服务器上的托管版本
请指教,
提前致谢,
解决方案
您是否尝试过指定更多重定向,例如:
return RedirectToAction("About", "Home");
我还不能发表评论,所以我必须发布作为答案
推荐阅读
- scala - 为什么在 Scala 中压缩比 zip 快?
- javascript - 如何让我的组件计算 React 中复选框值的总和?
- django - 在我将 formset 属性添加到 modelformset_factory() 之前,我的模型表单集工作正常
- r - 在 R 中为 tiff() 输出调整和选择适当大小的提示和技巧;保存时图像与文本经常不成比例
- python - 如何在 QMainWindow 中隐藏空的中央小部件
- caching - 在内存层次结构的上下文中,为什么有“写未命中策略”,而没有“读未命中策略”?
- windows - 从批处理文件启动的文件夹不是活动窗口
- bash - GitBash:无法更改目录
- python - 在python3中取消扭曲图像
- php - Vue / Laravel - 导入 CDN vuetify 而不是 npm install