有Index视图如下:

视图代码如下:

[html] view plaincopy
  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>

如图填写表单数据:

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

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

[csharp] view plaincopy
  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. }

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

ASP.NET MVC中在Action获取提交的表单数据方法总结相关推荐

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

    有Index视图如下: 视图代码如下: [html] view plaincopyprint? <%@ Page Language="C#" MasterPageFile=& ...

  2. Asp.net MVC中防止HttpPost重复提交

    重复提交的场景很常见,可能是当时服务器延迟的原因,如购物车物品叠加,重复提交多个订单.常见的解决方法是提交后把Button在客户端Js禁用,或是用Js禁止后退键等.在ASP.NET MVC 3 Web ...

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

    注释 <link rel="icon" href="#"> 这一句后试试 转载于:https://www.cnblogs.com/lummon/p/ ...

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

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

  5. ajax提交form表单到php,ajax如何提交form表单数据?ajax提交form表单数据的方法介绍...

    对于form表单数据的提交,我们一般都会想到使用ajax提交,那么,ajax如何来提交form表单数据呢?接下来的这篇文章就来给大家来介绍关于ajax提交form表单数据方法,有需要的伙伴可以参考一下 ...

  6. 在ASP.NET MVC 中获取当前URL、controller、action

    在ASP.NET MVC 中获取当前URL.controller.action URL的获取很简单,ASP.NET通用: [1]获取 完整url  (协议名+域名+虚拟目录名+文件名+参数) stri ...

  7. 如何在ASP.NET MVC中实现提交若干个某模型的数据(某Model的List或ICollection,大小不定)

    背景说明 在ASP.NET MVC中,有一个我们经常使用且十分好用的功能--模型绑定. 即在页面中指定该页面将会使用到的数据模型Model,然后在"显示数据"或"提交数据 ...

  8. ASP.NET MVC中实现多个按钮提交的几种方法

    有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能. 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较 ...

  9. html action能跨域么,ASP.NET MVC 中设置跨域

    原标题:ASP.NET MVC 中设置跨域 来源:GetPower cnblogs.com/gdpw/p/9236661.html 程序员共读整理发布,转载请联系作者获得授权ASP.NET MVC中设 ...

最新文章

  1. Jenkins安装与配置
  2. win7怎么启动对远程服务器的登陆,深度Win7旗舰版如何开启telnet服务使用远程登录...
  3. 图解Java内存区域及内存溢出异常
  4. 3-1 Point类的构造函数_JAVA
  5. 我对“重构(refector)”的看法
  6. java 职责链模式_Java中的责任链模式
  7. 一步一步写算法(之图创建)
  8. python蓝桥杯跑步训练
  9. 口碑销量双爆的数据分析丛书再添新成员!
  10. 信息资源管理【二】之 信息化规划与组织
  11. html网页中使用mock,前端工具mock的使用 - 造数据模拟网络请求
  12. [转]出现蓝屏代码stop ** 0x000000a5(0x00000001,0x89758d98,0x000000000,0x00000000)
  13. Python之爬取58同城在售楼盘房源信息
  14. 愿你熠熠生辉 自成光芒!清微智能祝所有女神节日快乐~
  15. 【接口测试】ab进行接口压测
  16. 微信公众平台如何给粉丝分组打标签?
  17. 用户存续期价值评估CLV(三) Gamma-Gamma模型 Python模拟
  18. DEM的分析相关操作
  19. 如果需要跳槽,自己该怎样去写简历?
  20. java poi wps_POI操作WPS表格POI操作WPS表格.docx

热门文章

  1. C语言实现Bogo排序(Bogo sort)算法(附完整源码)
  2. QT的QTableWidget类的使用
  3. QT的QFileSystemModel类的使用
  4. docker 和挂载文件一起打包成新镜像_Docker文件系统和数据卷
  5. html点击波,Material Design风格按钮点击波动画效果
  6. 「Swift」第三章String and Character
  7. Eclipse中web项目部署至Tomcat步骤
  8. 2进程之间的关系:进程组,会话,守护进程
  9. 使用EasyUI Tree异步加载JSON数据 生成树
  10. 用python简单处理图片(2):图像通道\几何变换\裁剪