2012-01-20 64 views

回答

1

第一件事情,你應該有類似

`<select name="searchOption" id="searchOption">` 

`public ActionResult Search(string searchOption, string keyword) {` 

不能使用的字符 - 因爲你不能在你的視圖的參數 「」 t將其轉換爲您的操作的自動映射參數。

話雖這麼說,如果你不希望使用動作參數爲這一個,你可以使用類似:

`Request.Params["search-option"]` 
1

用asp.net-MVC,你不需要手動從提取值HttpRequest。框架會自動執行此操作,並將其稱爲模型綁定。如果是整數,字符串和其他簡單的類型參數,只需要在輸入參數中使用相同名稱的name html操作即可。命名對嵌套的屬性和列表來說有點不同。

<select name="option" id="option"> 
<option value="category">Category</option> 
<option value="discipline">Discipline</option> 
<option value="manufacturer">Manufacturer</option> 
</select> 
<input type="text" name="text" id="keyword" /> 

現在,在操作中,選項和文本將具有值。

2

很多方法。

讓你的方法採取的FormCollection參數:

public ActionResult SomeActionMethod(FormCollection formCollection) 
{ 
    var key = formCollection["key"]; 

或使用默認模式粘結劑並有每場參數你想:

public ActionResult SomeActionMethod(string name) 

或者

public ActionResult SomeActionMethod(Person person) 

和在你看來

<input name="Person.name" /> 

或者創建您自己的模型活頁夾。

如果你希望你可以訪問請求,但是如果你想去那條路徑 - 使用FormCollection。

相關問題