2017-06-02 23 views
0

は、私は、コントローラと呼ばれるログインに2つのアクションがあるとしASP.Net MVCは:RedirectToAction機能に関する

public ActionResult Login()  
{  
    return View();  
}  

[HttpPost]  
[ValidateAntiForgeryToken]  
public ActionResult Login(UserProfile objUser)  
{  
    if (ModelState.IsValid)  
    {  
    using(DB_Entities db = new DB_Entities())  
    {  
     var obj = db.UserProfiles.Where(a => a.UserName.Equals(objUser.UserName) && a.Password.Equals(objUser.Password)).FirstOrDefault();  
     if (obj != null)  
     {  
     Session["UserID"] = obj.UserId.ToString();  
     Session["UserName"] = obj.UserName.ToString();  
     return RedirectToAction("UserDashBoard");  
     }  
    }  
    }  
    return View(objUser);  
} 

我々はリターンRedirectToAction(「ログイン」)を書くとき、どのようにasp.net mvcが、私たちがhttp動詞loginを取得するログイン機能について考えているのを理解しているのですか? 誰もがそれをexplianできますか?

投稿http動詞に基づいた行動にどのようにリダイレクトできますか? RedirectToAction関数を使用する場合、http動詞でアクションにリダイレクトする必要がある場合の構文は何ですか?

ありがとうございました

+9

リダイレクト応答は、ブラウザがリダイレクトされたアドレスに対して「GET」要求を発行する結果となります。ブラウザに 'POST'リクエストを発行させたいのであれば、フォームを提出することで、クライアント側のコードから行うことができます。 – David

+1

From https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.redirecttoaction(v=vs.118).aspx#M:System.Web.Mvc.Controller.RedirectToAction(System .String)、 "...ブラウザにHTTP 302応答を返します。これにより、ブラウザは指定されたアクションに対してGET要求を行います。" –

+0

別の取得アクションまたはポストアクションからポストアクションを呼び出す方法。私たちが呼び出すpostアクションはクライアントにビューを返します。だから私はポストアクションを呼び出すために使用することができますビルドされた関数には何ですか? –

答えて

0

あなたはこれとは別の方法で上記の操作を行うことができます。

[HttpPost]  
[ValidateAntiForgeryToken]  
public ActionResult Login(UserProfile objUser)  
{  
    // Code;  
} 

[HttpGet]  
[ValidateAntiForgeryToken]  
public ActionResult Login(UserProfile objUser)  
{  
    // Code;  
} 
関連する問題