我们可以直接在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