有Index视图如下:

视图代码如下:

  1. <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
  3. 主页
  4. </asp:Content>
  5. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
  6. <h2><%= Html.Encode(ViewData["Message"]) %></h2>
  7. <br />
  8. <br />
  9. <% using(Html.BeginForm("HandleForm", "Home")) %>
  10. <% { %>
  11. Enter your name: <%= Html.TextBox("name") %>
  12. <br /><br />
  13. Select your favorite color:<br />
  14. <%= Html.RadioButton("favColor", "Blue", true) %> Blue <br />
  15. <%= Html.RadioButton("favColor", "Purple", false)%> Purple <br />
  16. <%= Html.RadioButton("favColor", "Red", false)%> Red <br />
  17. <%= Html.RadioButton("favColor", "Orange", false)%> Orange <br />
  18. <%= Html.RadioButton("favColor", "Yellow", false)%> Yellow <br />
  19. <%= Html.RadioButton("favColor", "Brown", false)%> Brown <br />
  20. <%= Html.RadioButton("favColor", "Green", false)%> Green
  21. <br /><br />
  22. <%= Html.CheckBox("bookType") %> I read more fiction than non-fiction.<br />
  23. <br /><br />
  24. My favorite pet: <%= Html.DropDownList("pets") %>
  25. <br /><br />
  26. <input type="submit" value="Submit" />
  27. <% } %>
  28. </asp:Content>
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
主页
</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2><%= Html.Encode(ViewData["Message"]) %></h2>
<br />
<br /> <% using(Html.BeginForm("HandleForm", "Home")) %>
<% { %>
Enter your name: <%= Html.TextBox("name") %>
<br /><br />
Select your favorite color:<br />
<%= Html.RadioButton("favColor", "Blue", true) %> Blue <br />
<%= Html.RadioButton("favColor", "Purple", false)%> Purple <br />
<%= Html.RadioButton("favColor", "Red", false)%> Red <br />
<%= Html.RadioButton("favColor", "Orange", false)%> Orange <br />
<%= Html.RadioButton("favColor", "Yellow", false)%> Yellow <br />
<%= Html.RadioButton("favColor", "Brown", false)%> Brown <br />
<%= Html.RadioButton("favColor", "Green", false)%> Green
<br /><br />
<%= Html.CheckBox("bookType") %> I read more fiction than non-fiction.<br />
<br /><br />
My favorite pet: <%= Html.DropDownList("pets") %>
<br /><br />
<input type="submit" value="Submit" />
<% } %> </asp:Content>

如图填写表单数据:

分别使用不同的表单处理方法,对提交的表单数据在视图FormResults呈现。

提交表单对应的HomeController,包含以不同方法获取表单数据的代码,如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. namespace HtmlHelper.Controllers
  7. {
  8. [HandleError]
  9. public class HomeController : Controller
  10. {
  11. public ActionResult Index()
  12. {
  13. ViewData["Message"] = "欢迎使用 ASP.NET MVC!";
  14. //手动构造页面中下拉框的宠物数据
  15. List<string> petList = new List<string>();
  16. petList.Add("Dog");
  17. petList.Add("Cat");
  18. petList.Add("Hamster");
  19. petList.Add("Parrot");
  20. petList.Add("Gold fish");
  21. petList.Add("Mountain lion");
  22. petList.Add("Elephant");
  23. ViewData["Pets"] = new SelectList(petList);
  24. return View();
  25. }
  26. public ActionResult About()
  27. {
  28. return View();
  29. }
  30. /// <summary>
  31. /// 处理表单提交数据,方法1:使用传统的Request请求取值
  32. /// </summary>
  33. /// <returns></returns>
  34. public ActionResult HandleForm()
  35. {
  36. ViewData["name"] = Request["name"];
  37. ViewData["favColor"] = Request["favColor"];
  38. ViewData["bookType"] = Request["bookType"];
  39. ViewData["pet"] = Request["pets"];
  40. return View("FormResults");
  41. }
  42. /// <summary>
  43. /// 处理表单提交数据,方法2:Action参数名与表单元素name值一一对应
  44. /// </summary>
  45. /// <param name="name"></param>
  46. /// <param name="favColor"></param>
  47. /// <param name="bookType"></param>
  48. /// <param name="pets"></param>
  49. /// <returns></returns>
  50. //public ActionResult HandleForm(string name, string favColor, Boolean bookType, string pets)
  51. //{
  52. //    ViewData["name"] = name;
  53. //    ViewData["favColor"] = favColor;
  54. //    ViewData["bookType"] = bookType;
  55. //    ViewData["pet"] = pets;
  56. //    return View("FormResults");
  57. //}
  58. /// <summary>
  59. /// 处理表单提交数据,方法3:从MVC封装的FormCollection容器中读取
  60. /// </summary>
  61. /// <param name="form"></param>
  62. /// <returns></returns>
  63. //public ActionResult HandleForm(FormCollection form)
  64. //{
  65. //    ViewData["name"] = form["name"];
  66. //    ViewData["favColor"] = form["favColor"];
  67. //    ViewData["bookType"] = form["bookType"];
  68. //    ViewData["pet"] = form["pets"];
  69. //    return View("FormResults");
  70. //}
  71. /// <summary>
  72. /// 处理表单提交数据,方法4:使用实体作为Action参数传入,前提是提交的表单元素名称与实体属性名称一一对应
  73. /// </summary>
  74. /// <param name="request"></param>
  75. /// <returns></returns>
  76. //[HttpPost]
  77. //public ActionResult HandleForm(InforModel infor)
  78. //{
  79. //    ViewData["name"] = infor.name;
  80. //    ViewData["favColor"] = infor.favColor;
  81. //    ViewData["bookType"] = infor.bookType;
  82. //    ViewData["pet"] = infor.pets;
  83. //    return View("FormResults");
  84. //}
  85. }
  86. }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace HtmlHelper.Controllers
{
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "欢迎使用 ASP.NET MVC!"; //手动构造页面中下拉框的宠物数据
List<string> petList = new List<string>();
petList.Add("Dog");
petList.Add("Cat");
petList.Add("Hamster");
petList.Add("Parrot");
petList.Add("Gold fish");
petList.Add("Mountain lion");
petList.Add("Elephant"); ViewData["Pets"] = new SelectList(petList); return View();
} public ActionResult About()
{
return View();
} /// <summary>
/// 处理表单提交数据,方法1:使用传统的Request请求取值
/// </summary>
/// <returns></returns>
public ActionResult HandleForm()
{
ViewData["name"] = Request["name"];
ViewData["favColor"] = Request["favColor"];
ViewData["bookType"] = Request["bookType"];
ViewData["pet"] = Request["pets"]; return View("FormResults");
} /// <summary>
/// 处理表单提交数据,方法2:Action参数名与表单元素name值一一对应
/// </summary>
/// <param name="name"></param>
/// <param name="favColor"></param>
/// <param name="bookType"></param>
/// <param name="pets"></param>
/// <returns></returns>
//public ActionResult HandleForm(string name, string favColor, Boolean bookType, string pets)
//{
// ViewData["name"] = name;
// ViewData["favColor"] = favColor;
// ViewData["bookType"] = bookType;
// ViewData["pet"] = pets; // return View("FormResults");
//} /// <summary>
/// 处理表单提交数据,方法3:从MVC封装的FormCollection容器中读取
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
//public ActionResult HandleForm(FormCollection form)
//{
// ViewData["name"] = form["name"];
// ViewData["favColor"] = form["favColor"];
// ViewData["bookType"] = form["bookType"];
// ViewData["pet"] = form["pets"]; // return View("FormResults");
//} /// <summary>
/// 处理表单提交数据,方法4:使用实体作为Action参数传入,前提是提交的表单元素名称与实体属性名称一一对应
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
//[HttpPost]
//public ActionResult HandleForm(InforModel infor)
//{
// ViewData["name"] = infor.name;
// ViewData["favColor"] = infor.favColor;
// ViewData["bookType"] = infor.bookType;
// ViewData["pet"] = infor.pets; // return View("FormResults");
//} }
}

在FormResults视图显示ViewData的数据,如图所示:

ASP.NET MVC中在Action获取提交的表单数据方法总结 (4种方法,转载备忘)的更多相关文章

  1. ASP.NET MVC中在Action获取提交的表单数据方法

    有Index视图如下: 视图代码如下: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Mas ...

  2. Asp.net Mvc中分部视图获取后台数据并展示

    方式一: 1.主页面中代码: @{Html.RenderAction("CreateLeftMenu");} 2.Controller中代码: public PartialView ...

  3. 在ASP.NET MVC中使用UEditor无法提交的解决办法

    很简单的一个ajax提交,却怎么都不成功 $.ajax({ type: "POST", url: "/mms/riskmanage/commitreply", ...

  4. 如果asp.net mvc中某个action被执行了两次,请检查是不是以下的原因

    注释 <link rel="icon" href="#"> 这一句后试试

  5. Spring Mvc 前台数据的获取、SpringMvc 表单数据的获取

    首先在web.xml 里面配置一个编码过滤器 <!-- springmvc框架本身没有处理请求编码,我们自己配置一个请求编码过滤器 --> <filter> <filte ...

  6. 在Asp.Net MVC中使用ModelBinding构造Array、List、Collection以及Dictionary

    在asp.net mvc中,我们可以在html表单中使用特定的格式传递参数,从而通过model binder构造一些集合类型. 第一种方式 public ActionResult Infancy(Pe ...

  7. asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法

    在asp.net MVC中使用Html.CheckBox提交后出现该字符串未被识别为有效的布尔值错误,或从类型“System.String”到类型“System.Boolean”的参数转换失败. 错误 ...

  8. 在ASP.NET MVC中实现Select多选

    我们知道,在ASP.NET MVC中实现多选Select的话,使用Html.ListBoxFor或Html.ListBox方法就可以.在实际应用中,到底该如何设计View Model, 控制器如何接收 ...

  9. 在ASP.NET MVC 中获取当前URL、controller、action 、参数

    URL的获取很简单,ASP.NET通用:[1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟目录名 ...

随机推荐

  1. 快速破解哈希密文findmyhash

    快速破解哈希密文findmyhash   Kali Linux提供各种哈希密文破解工具,如hashcat.john.rainbows.不论哪一种,实施破解都不太容易.每种方式都需要花费大量的时间.破解 ...

  2. Swift3.0语言教程使用路径字符串

    Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

  3. Asp.net_完美设置页面最小宽度(兼容ie)

    div+css的布局相比table布局简化了前端开发的复杂性,也会带来一些问题,现在我们就说一下浮动定位在页面大小改变时布局错位的解决办法,给页面设置最小宽度: 只需更改全局css样式表 body { ...

  4. 疯狂java学习笔记之面向对象(二) - 成员变量与局部变量

    Java变量按其作用域可分为:成员变量和局部变量.注意:在Java中是没有全局变量这个概念的 一.成员变量: 成员变量是在类中定义的变量,具体可分为类变量与实例变量--有无static修饰 实例变量的 ...

  5. Singleton模式——对象创建型模式

    Singleton模式即为单例模式/单件模式. (一)意图--保证一个类仅有一个实例,并提供一个访问它的全局访问点. 如一台计算机可以有多个端口,但是应该统一管理这些端口,避免访问冲突.--选择Sin ...

  6. bzoj1006 [HNOI2008]神奇的国度

    1006: [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 2304  Solved: 1043 Description ...

  7. ccc 多点触控2

    经过不断的思考发现,如果是两个sprite都添加触控的时候,往往直接成单点触控, 但是如果是两个node的时候在node上面点击就会变成多点触控的形式 cc.Class({ extends: cc.C ...

  8. wamp 2.5 开放访问权限和设置虚拟域名

    开放访问权限 D:\wamp\bin\apache\apache2.4.9\conf  里的 httpd.conf 搜索www   把 Require local 改为 Require all gra ...

  9. hive Java API

    Java连接hive进行操作的方式有多种,接触到了两种: 首先,hive要起动远程服务接口,命令: hive --service hiveserver -p 50000 & 1. 通过jdbc ...

  10. bzoj2962 序列操作 题解

    题目大意: 有一个长度为n的序列,有三个操作1.I a b c表示将[a,b]这一段区间的元素集体增加c,2.R a b表示将[a,b]区间内所有元素变成相反数,3.Q a b c表示询问[a,b]这 ...