我正在使用Visual Studio 2015社区版和IIS 8使用ASP.NET MVC 4.我是这项技术的初学者..
我创建了登录页面,
在我的登录控制器(动作索引)中,当用户输入正确的用户名和密码时,我将return RedirectToAction("Index", "Home")
重定向到页面..当我在visual studio环境中调试/运行它时它会起作用..但是当我发布它时(让我们发布它)说名称是MyPublishedWeb),在IIS中创建应用程序并浏览它,URL将如下所示:localhost/MyPublishedWeb/Login/Index
问题是,当我成功登录时,它会将我重定向到localhost/Home/Index
,而不是localhost/MyPublishedWeb/Home/Index
,并且它会出错...
但是当我将RedirectToAction()
更改为Redirect()
时,它在Visual Studio环境和IIS中都有效。
我想念什么?
为什么RedirectToAction()
在IIS应用程序中不起作用?
答案 0 :(得分:0)
尝试以下两个步骤:
[HttpPost]
RedirectToAction("Index","Home")
; Controller.RedirectToAction
方法
返回对浏览器的HTTP 302响应,这会导致浏览器向指定的操作发出GET请求。 https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.redirecttoaction(v=vs.118).aspx