2010-03-23 47 views
3

我從PHP語言(笨)來了,但現在我學習ASP.Net MVC :)asp.net的MVC後變量控制器

在PHP笨,我們可以用

$this->input->post("theinput"); 
容易患後變量

我知道,在ASP.Net MVC,我們可以創建將接受來自POST請求這樣的

public ActionResult Edit(string theinput) 

或可變的操作方法

public ActionResult Edit(FormCollection formCol) 

有沒有辦法像ASP的codeigniter一樣在ASP.Net中捕獲post變量,這樣我們就不必編寫FormCollection對象,也不必在action方法中寫參數(因爲它可能會非常擁擠我們通過了很多變量)

ASP.Net是否有一個簡單的getter方法來捕獲這些post變量?

編輯: 我會非常感激,如果ü可以給我一個鏈接,這些教程:d

回答

3

是。

Request.Form["theinput"] 

然而,要做到這一點的最好辦法是使包含每個需要訪問不同屬性的模型類,然後讓你的行動採取的類的實例作爲參數。

+0

我是.Net的初學者,我不太瞭解模型類是什麼。你可以給我一個鏈接到這些教程:D – 2010-03-24 00:24:14

+0

http://www.asp.net/learn/mvc/ – SLaks 2010-03-24 01:09:58

3

您通常不希望在代碼中使用FormCollection或Request.Form。這些對象很難模擬,這使得自動化測試非常困難。

最佳做法是創建一個視圖模型類,將所需的所有輸入作爲屬性,並將此類作爲控制器操作的輸入。

+0

其實,由於'System.Web.Abstractions',他們不是很難嘲笑。不過,參加模特班肯定會更好。 – SLaks 2010-03-23 12:01:34

+0

對不起,我不明白什麼是viewmodel類。你能給我一個鏈接到這些教程:D – 2010-03-24 00:23:08

+1

視圖模型是一個專門適合視圖的模型。看看像這樣的資源:http://stephenwalther.com/blog/archive/2009/04/13/asp.net-mvc-tip-50-ndash-create-view-models.aspx和http://geekswithblogs.net /michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspx – gautema 2010-03-24 10:14:28