0

以下は、コントローラーのログイン機能の 1 つです。

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

これは HomeController の Index 関数を呼び出しますが、同じ画面、つまりログイン画面がブラウザに残ります。以下は、私の 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
            );
}  

何が問題なのかわかりません。これをネットで検索しましたが、他のユーザーが直面している問題には逸脱があります。

アップデート

ホームコントローラー:

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();
        }
    }
4

1 に答える 1

1

ホームコントローラーのインデックスページなど[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");           
}  
于 2013-07-18T13:32:08.363 に答える