1
A
回答
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。
相關問題
- 1. 控制器和動作不執行控制器代碼
- 2. Grails - 跨控制器代碼,在每個請求上執行
- 3. Ajax調用cakePhp不會執行請求的控制器中的php代碼
- 4. 執行主控制器後執行控制器
- 5. KrakenJS:通過控制器執行POST請求以錯誤結束
- 6. AngularJS orderby /控制器行爲:控制器在訂單上執行
- 7. 控制器與AJAX請求行爲
- 8. 在控制器動作之前執行代碼
- 9. 如何從JS調用控制器,以便控制器可以執行其請求映射?
- 10. 在codeigniter中獲取請求的控制器鉤預控制器
- 11. 控制器執行的接口使用
- 12. 使用[AllowAnonymous]在控制器中運行MVC之前的代碼執行
- 13. 在控制器中的任何代碼在rails之前執行的應用程序控制器中的before_filter?
- 14. 對於單個請求,控制器正在執行兩次
- 15. 在asp.net mvc3重構因子控制器的行動mvc3
- 16. 執行他人的控制器動作
- 17. 查看未呈現長時間請求,但控制器代碼已執行
- 18. 阻止控制器執行
- 19. 執行P控制器
- 20. AngularJS控制器不執行
- 21. 請求表單執行控制更新
- 22. AngularJS - 控制器代碼是逐行執行的嗎?
- 23. 在行動及控制器
- 24. web2py:如何在調用控制器之前執行代碼?
- 25. 梅勒使用與___控制器相同的控制器代碼
- 26. 頁面控制器後執行的AngularJS指令的控制器
- 27. 控制器在codeigniter中的Ajax請求
- 28. 如何控制量角器中代碼執行的順序
- 29. 從代碼庫中的庫執行控制器方法
- 30. 使用angularJS中的相同控制器函數執行GET和POST請求