2010-06-01 130 views
0

我是MVC的新手,嘗試了一些東西並陷入其中。將用戶控件中的數據傳遞給控制器​​

我有一個用戶控件那裏我有三個文本框的HTML類型(ID,姓氏,名字)和一個提交按鈕。

我設置按鈕等

<input type="button" value="Search" 
       onclick="location.href='<%= Url.Action("action", "controller") %>'" /> 

我已經呼籲一些視圖這個用戶控件通過

<%= Html.Partial("ucName") %> 

現在地按下按鈕(用戶控制)我需要通過從這些數據文本框再次控制到一些特定的操作(Http Post操作)。通過使用這些數據,我想做一些數據庫交互並將結果存儲在數據集中,並將該數據集再次傳遞給同一視圖,以便在某個網格中顯示。

我知道常規Asp.net的第一部分可以通過委託提高事件來完成,但不知道如何在MVC中實現。

回答

0

在你的行動結果你應該有;

public ActionResult(MyModel model) 
{ 
    //now do something with model 
} 

擺脫按鈕,改用提交按鈕,然後使用BeginForm,以便它將提交給相同的動作和控制器。

MyModel應該包含三個字段,並且您的模型應該從MyModel繼承,以便MVC知道從哪裏獲取數據。

你有沒有通過NerdDinner示例,因爲它聽起來像你沒有。您首先需要做的是瞭解MVC模型和視圖的工作方式。

0

你不能簡單地用一個submit按鈕,將數據發佈到所需的控制器動作:

<% using (Html.BeginForm("action", "controller", FormMethod.Post)) { %> 
    <!-- ... your textboxes here ... --> 
    <input type="submit" value="Search" /> 
<% } %> 

你也可以使用FormMethod.Get如果你想在參數中的URL進行傳遞。

+0

我已經把相同的代碼放在我的用戶控件中,但是在提交時它沒有調用控制器,可能是因爲它是用戶控件,但是我想要的。我想把文本框和按鈕放在一個用戶控件中。 – Nits 2010-06-01 06:51:28

相關問題