2013-07-18 75 views
0

以下不工作是我的控制器的一個登錄功能:RedirectToAction在控制器

[HttpPost] 
public ActionResult LogIn(string email, string password) 
{   
    return RedirectToAction("Index", "Home");   
} 

這就要求的HomeController的指數函數,但相同的屏幕即登錄屏幕上仍然是瀏覽器。以下是我的MVC應用程序中的路線:

public static void RegisterRoutes(RouteCollection routes) 
{ 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "Login", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
      ); 
} 

我不確定是什麼問題。我爲此搜索網絡,但在其他用戶面臨的問題上存在偏差。

更新

的HomeController:

public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; 

      return View(); 
     } 

     public ActionResult About() 
     { 
      ViewBag.Message = "Your app description page."; 

      return View(); 
     } 

     public ActionResult Contact() 
     { 
      ViewBag.Message = "Your contact page."; 

      return View(); 
     } 
    } 
+0

你可以發佈你的HomeController嗎? – cadrell0

+0

您可以使用瀏覽器上的Fiddler或開發人員欄來檢查請求嗎?我懷疑在另一個控制器上有一個過濾器發送給你,因爲你還沒有登錄 –

+0

你在Home控制器上的索引操作是否有'[AllowAnonymous]' – James

回答

0

頁面,例如家用控制器你的索引頁需要[AllowAnonymous]裝飾作用,以使無需登錄即可查看的頁面

做到這一點

public class HomeController : Controller 
    { 
     [AllowAnonymous] 
     public ActionResult Index() 
     { 
      ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; 

      return View(); 
     } 

您還需要

[HttpPost] 
[AllowAnonymous] 
public ActionResult LogIn(string email, string password) 
{   
    return RedirectToAction("Index", "Home");   
} 
+0

做到了這一點。仍然是相同的登錄屏幕。 – Nitish

+0

如果你在'RedirectToAction'上放置了一個斷點,它會不會觸及? – James

+0

是HomeController的索引函數被調用,我已經在我的問題中提到過了。 – Nitish