我們可以直接在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
- 2. 如何限制控制器動作的訪問在ASP.net MVC 5
- 3. 如何訪問操作結果返回值asp.net mvc 4
- 4. 在Asp.net中限制對控制器中操作方法的訪問MVC
- 5. 如何從asp.net-mvc控制器返回原始數組操作
- 6. 如何從ASP.NET 5 MVC 6控制器操作返回XML
- 7. Asp.Net MVC控制器操作返回動畫GIF問題
- 8. 訪問asp.net的MVC控制器的ActionResult
- 9. 如何從jquery訪問操作控制器的值
- 10. 訪問ASP.NET MVC應用程序中的控制器/操作列表
- 11. ASP.NET MVC 2如何將JSON傳遞給ASP.NET控制器操作
- 12. 如何訪問ASP.NET MVC控制器中的HttpServerUtility實例?
- 13. asp.net mvc - 在操作中重複使用控制器值
- 14. ASP.NET MVC AJAX發佈到控制器操作不起作用
- 15. ASP.NET中繼器控制 - 獲得中繼器控制內的Hiddenfield值
- 16. 保護返回JSON的ASP.NET MVC控制器操作
- 17. ASP.NET MVC 4路 - 控制器/ ID VS控制器/操作/ ID
- 18. 限制訪問MVC操作
- 19. 如何從mvc 4 razor中的共享視圖訪問控制器操作?
- 20. Java:Spring MVC - 如何訪問控制器操作中的更新模型?
- 21. 在Rails控制器測試中,如何訪問不同的控制器操作?
- 22. 如何在asp.net mvc中將數據從視圖發送到控制器操作?
- 23. asp.net mvc 3從控制器操作返回消息ajax
- 24. 如何使用ASP.NET MVC控制器操作將文件發送到瀏覽器?
- 25. asp.net mvc - 當應用程序發佈到IIS的控制器操作返回404
- 26. 如何限制用戶訪問控制器的特定操作?
- 27. MVC如何調用控制器中的操作從視圖返回值
- 28. ASP.NET MVC,JSON發佈到控制器操作FormCollection參數
- 29. ASP.NET MVC RemoteAttribute不會觸發操作方法在控制器
- 30. Jquery UI對話框發佈到ASP.Net MVC控制器操作
應該鼓勵使用視圖模型,而不是我所瞭解的FormCollection。 – 2011-03-09 23:10:36
@havok:修改答案以加強視圖模型 – 2011-03-10 15:03:45
現在這是一個很好的答案+1 – 2011-03-10 20:30:57