2010-11-01 24 views
1

我有一個屬性指向包含HTML的文件的模型。我對此模型的強類型化視圖使用自定義HTML幫助器方法來解析並從文件中返回HTML。迄今爲止效果很好。使用MVC發佈多個值

從每個文件中讀取的HTML將包含各種控件,其值需要在表單發佈時檢索。

在我的控制器方法中訪問POST控制值的最佳方式是什麼?

我寧願一個非jQuery解決方案,但我不確定MVC框架是否可以向我提供這些值?它能否以某種方式向控制器提供鍵/值對列表?

回答

2

你基本上有兩種選擇。

1)使用舊式的Request變量,就像我們在ASP.NET web表格中所做的一樣。

例如,在您的控制器的操作方法可以檢索當前窗體上下面的方法的任何值

public ActionResult SomeAction() { 
    var request = this.ControllerContext.HttpContext.Request; 
    bool boolParam = bool.Parse(request["boolParam"] ?? "false"); 
} 

2)創建自定義的模型綁定,讓框架包中的自定義類的值對象

這種方法在開始時會稍微困難一點,因爲您必須創建一個自定義模型綁定器,但它有利於控制器代碼的可讀性。有關創建自定義模型粘合劑給看看在下面的鏈接的詳細信息(你可以找到更多的用一個簡單的搜索)

希望它可以幫助

+0

你一定要去ModelBinder路由 - 更可維護,它是在MVC做到這一點。你基本上是通過表格,但至少它是在一個地方。 – 2010-11-01 13:17:55

+0

完全同意 – Lorenzo 2010-11-01 13:19:40

3

您可以在ASP.NET MVC中使用FormCollection。

public ActionResult SomeAction(FormCollection form) { 
    ... 
} 
+0

我錯過了提及這一點,因爲它與我的答案中的方法1非常類似。 – Lorenzo 2010-11-01 13:41:37

0

在設計時HTML文件的內容是動態的還是已知的?如果你現在知道它,你可以讓每個帖子發佈自己的操作,然後強制輸入參數。