IIS中的ASP.NET MVC,RedirectToAction()和Redirect()

时间:2016-02-22 02:10:46

标签: asp.net-mvc redirect iis-8

我正在使用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应用程序中不起作用?

1 个答案:

答案 0 :(得分:0)

尝试以下两个步骤:

  1. 在控制器中使用[HttpPost]
  2. 成功登录后返回RedirectToAction("Index","Home");
  3. Controller.RedirectToAction方法

    返回对浏览器的HTTP 302响应,这会导致浏览器向指定的操作发出GET请求。 https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.redirecttoaction(v=vs.118).aspx