2013-07-10 58 views
0

使用asp .net mvc,我使用post提交表單並使用get。在我的控制器中,我只能訪問post參數,但不能訪問GET參數。我可以在同一個asp mvc .net控制器上使用GET和POST嗎?

這裏是我的HTML表單:

<form name="input" action="/account/Login/?test=123" method="post"> 
    Username: <input type="text" name="username"> 
    Lastname: <input type="text" name="lastname"> 
    Password: <input type="text" name="password"> 
<input type="submit" value="Submit"> 
</form> 

我的控制器:

[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)] 
public ActionResult Login(User model) 
{ 
    string test = Request.QueryString["test"]; // this is null 
} 

我也試過爲我的控制器,但無濟於事...

[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)] 
    public ActionResult Login(User model, string test) 
    { 
     // but "test" is also null 
    } 
+0

用於用戶模型字段後門柱正常綁定? –

回答

1

您的示例適合我。在我得到的測試操作都variats = 123

或者你可以嘗試使用Html.BeginForm()幫手:

@using(Html.BeginForm("Account", "Login", new { test = "123" }, FormMethod.Post)) 
{ 
    @:Username: <input type="text" name="username"/> 
    @:Lastname: <input type="text" name="lastname"/> 
    @:Password: <input type="text" name="password"/> 
    <input type="submit" value="Submit"/> 
} 
+0

和你如何得到測試?像這樣string test = Request.QueryString [「test」]; ?你能告訴我你的控制器嗎? – user2037696

+0

是的,第二種方式(字符串測試作爲第二個參數)適用於我。所以我問你是否用戶模型綁定了來自表單的數據? –

+0

你的意思是「用戶模型綁定了來自表單的數據」?對不起,我還是個初學者。感謝您的幫助btw – user2037696

0

這而不是HTTP動詞的工作方式。

GET和POST不是兩種傳遞數據的方式;他們是兩種不同類型的HTTP請求。 (只發布了一個有效載荷)


你問一個查詢字符串參數

但是,瀏覽器會從表單操作URL中去除查詢字符串參數。
HTTP請求根本不包括那個。

相反,你應該把它放在<input type="hidden">

+0

你爲你的答案,然後我怎麼可以訪問用戶名,姓氏,密碼,並測試?我不能通過它隱藏我真的需要獲得測試使用get方法 – user2037696

+0

@ user2037696:你是什麼意思? – SLaks

相關問題