2015-03-03 181 views
0

我的控制器:Post方法總是返回null MVC4

 [HttpPost] 
     public void setInfoUser(string str) 
     { 
      Demandeur demandeur = new Demandeur(str); 
     } 

我的觀點:

@using (Html.BeginForm("setInfoUser", "Personne", FormMethod.Post)) 
    { 
     <input type="text" id="idUser" value="test" /> 
     <input type="submit" value="ok" name="setInfoUser" /> 
    } 

的方法被觸發,但該字符串總是空。我究竟做錯了什麼?

+0

您沒有任何約束力該字符串。 – vortex 2015-03-03 09:07:50

回答

2

將name屬性設置爲等於您的字符串變量。

<input type="text" id="idUser" name="str" value="test" /> 
+0

就是這樣!謝謝 – Shuyuntake 2015-03-03 09:13:53

+0

沒問題。您可以將答案標記爲已接受。 – vortex 2015-03-03 09:15:16

0

,因爲你正在使用MVC
查看您應該使用基於模型的方法:

@model Your_NameSpace.Demandeur 
@using (Html.BeginForm("setInfoUser", "Personne", FormMethod.Post)) 
{ 
    @Html.EditorFor(model=>model.UserName) 
    <input type="submit" value="ok" name="setInfoUser" /> 
} 

控制器

[HttpPost] 
public void setInfoUser(Demandeur demandeur) 
{ 
    //your logic ahead 
}