2010-04-29 63 views
0

很基本的一個在這裏球員。使用ASP.NET MVC進行模型綁定,將數據輸入到控制器

我有一個視圖,其保持2個文本字段輸入和提交按鈕

<%using (Html.BeginForm("DateRetrival", "Home", FormMethod.Post)){ %>  
<%=Html.TextBox("sday")%> 
<%=Html.TextBox("eday")%> 
<input type="submit" value="ok" id="run"/> 
<% }%> 

我要綁定的數據輸入是如下

[AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult DateRetrival() 
    { 
     return View(); 
    } 


    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult DateRetrival(string submit) 
    { 


     return null; 
    } 

下面控制器動作當我調試這並查看action方法參數,值爲null。當我在兩個文本框中輸入值並單擊提交方法時。

回答

2

你可能想要做這樣的事情:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult DateRetrival(string sday, string eday) 
    { 

     return null; 
    } 

理想的情況下,雖然你可能要路過一個模型,以你的控制器:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult DateRetrival(DateModel dates) 
    { 
     var date1 = dates.sday; 
     var date2 = dates.eday; 
     return null; 
    } 

http://msdn.microsoft.com/en-us/library/dd394711.aspx

2

添加參數以捕獲每個輸入字段值。

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult DateRetrival(string sday, string eday) 
{ 
    return null; 
} 
2

嘗試:

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult DateRetrival(string sday, string eday, string submit) 
{ 
    return null; 
} 

,如果你想如果你想有張貼值透過按鈕值

<input type="submit" value="ok" id="run" name="submit"/> 

name屬性必須設置。 Html.TextBox自動從參數中設置名稱。

相關問題