我有一個屬性指向包含HTML的文件的模型。我對此模型的強類型化視圖使用自定義HTML幫助器方法來解析並從文件中返回HTML。迄今爲止效果很好。使用MVC發佈多個值
從每個文件中讀取的HTML將包含各種控件,其值需要在表單發佈時檢索。
在我的控制器方法中訪問POST控制值的最佳方式是什麼?
我寧願一個非jQuery解決方案,但我不確定MVC框架是否可以向我提供這些值?它能否以某種方式向控制器提供鍵/值對列表?
我有一個屬性指向包含HTML的文件的模型。我對此模型的強類型化視圖使用自定義HTML幫助器方法來解析並從文件中返回HTML。迄今爲止效果很好。使用MVC發佈多個值
從每個文件中讀取的HTML將包含各種控件,其值需要在表單發佈時檢索。
在我的控制器方法中訪問POST控制值的最佳方式是什麼?
我寧願一個非jQuery解決方案,但我不確定MVC框架是否可以向我提供這些值?它能否以某種方式向控制器提供鍵/值對列表?
你基本上有兩種選擇。
1)使用舊式的Request變量,就像我們在ASP.NET web表格中所做的一樣。
例如,在您的控制器的操作方法可以檢索當前窗體上下面的方法的任何值
public ActionResult SomeAction() {
var request = this.ControllerContext.HttpContext.Request;
bool boolParam = bool.Parse(request["boolParam"] ?? "false");
}
2)創建自定義的模型綁定,讓框架包中的自定義類的值對象。
這種方法在開始時會稍微困難一點,因爲您必須創建一個自定義模型綁定器,但它有利於控制器代碼的可讀性。有關創建自定義模型粘合劑給看看在下面的鏈接的詳細信息(你可以找到更多的用一個簡單的搜索)
希望它可以幫助
您可以在ASP.NET MVC中使用FormCollection。
public ActionResult SomeAction(FormCollection form) {
...
}
我錯過了提及這一點,因爲它與我的答案中的方法1非常類似。 – Lorenzo 2010-11-01 13:41:37
在設計時HTML文件的內容是動態的還是已知的?如果你現在知道它,你可以讓每個帖子發佈自己的操作,然後強制輸入參數。
你一定要去ModelBinder路由 - 更可維護,它是在MVC做到這一點。你基本上是通過表格,但至少它是在一個地方。 – 2010-11-01 13:17:55
完全同意 – Lorenzo 2010-11-01 13:19:40