我們可以直接在MVC回發控制器操作中訪問asp:Label
值嗎?我還想知道如何訪問ASP.NET MVC回發控制器操作中的hiddenField
值。如何訪問asp.net mvc回發控制器操作中的hiddenField值?
5
A
回答
18
在ASP.NET MVC中,你不使用<asp:...
標籤,但你可以嘗試張貼任何數量的將表單輸入到控制器操作中,其中CustomViewModel
類可以綁定到數據並讓您進一步操作它。
public class CustomViewModel
{
public string textbox1 { get; set; }
public int textbox2 { get; set; }
public string hidden1 { get; set; }
}
例如,如果你在MVC 3使用剃刀語法,你的視圖可能看起來像:
@using (Html.BeginForm())
{
Name:
<input type="text" name="textbox1" />
Age:
<input type="text" name="textbox2" />
<input type="hidden" name="hidden1" value="hidden text" />
<input type="submit" value="Submit" />
}
然後在你的控制器動作,其自動將這些數據綁定到你的ViewModel類,讓我們說它被稱爲保存,可能看起來像:
[HttpPost]
public ActionResult Save(CustomViewModel vm)
{
string name = vm.textbox1;
int age = vm.textbox2;
string hiddenText = vm.hidden1;
// do something useful with this data
return View("ModelSaved");
}
4
在ASP.NET MVC服務器端控件(如asp:Label
)不應該被使用,因爲它們依賴ViewState和PostBack,它們是ASP.NET MVC中不再存在的概念。所以你可以使用HTML助手來生成輸入字段。例如:
<% using (Html.BeginForm()) { %>
<%= Html.LabelFor(x => x.Foo)
<%= Html.HiddenFor(x => x.Foo)
<input type="submit" value="OK" />
<% } %>
,並具有將接收後的控制器操作:
[HttpPost]
public ActionResult Index(SomeViewModel model)
{
// model.Foo will contain the hidden field value here
...
}
相關問題
- 1. Asp.Net MVC控制器操作返回動畫GIF問題
- 2. 訪問asp.net的MVC控制器的ActionResult
- 3. 訪問ASP.NET MVC應用程序中的控制器/操作列表
- 4. ASP.NET MVC 2如何將JSON傳遞給ASP.NET控制器操作
- 5. 如何訪問ASP.NET MVC控制器中的HttpServerUtility實例?
- 6. 保護返回JSON的ASP.NET MVC控制器操作
- 7. 如何從mvc 4 razor中的共享視圖訪問控制器操作?
- 8. MVC如何調用控制器中的操作從視圖返回值
- 9. asp.net mvc 3從控制器操作返回消息ajax
- 10. 如何限制用戶訪問控制器的特定操作?
- 11. asp.net mvc - 當應用程序發佈到IIS的控制器操作返回404
- 12. 如何使用ASP.NET MVC控制器操作將文件發送到瀏覽器?
- 13. ASP.NET MVC,JSON發佈到控制器操作FormCollection參數
- 14. Jquery UI對話框發佈到ASP.Net MVC控制器操作
- 15. ASP.NET MVC將JSON數據發送給控制器操作
- 16. asp.net mvc如何將視圖關聯到控制器操作?
- 17. ASP.NET MVC Bootstrab選項卡單擊控制器\操作問題
- 18. 如何獲得ajax在mvc4控制器操作中發佈的值asp.net
- 19. 如何在Asp.net MVC5控制器操作中獲取訪問令牌OwinContext
- 20. 如何從控制器操作中訪問配置數據?
- 21. MVC控制器訪問
- 22. 如何通過ASP.NET MVC控制器操作方法返回WebForm UserControl?
- 23. 訪問數組值從窗體在ASP.NET MVC控制器
- 24. 如何在ASP.NET MVC控制器之外訪問HttpContext?
- 25. 如何從uploadify在asp.net MVC控制器訪問scriptDataData
- 26. ASP.NET MVC - 作業控制器
- 27. 如何創建不可訪問的控制器操作?
- 28. ASP.Net MVC:在不同控制器中的相同操作名稱
- 29. 在asp.net中調用相同的控制器操作mvc
- 30. GET和POST到ASP.NET MVC中的相同控制器操作
應該鼓勵使用視圖模型,而不是我所瞭解的FormCollection。 – 2011-03-09 23:10:36
@havok:修改答案以加強視圖模型 – 2011-03-10 15:03:45
現在這是一個很好的答案+1 – 2011-03-10 20:30:57