后台控制器接收前台表单参数三种方法:

一、普通参数    HTML标签name 和参数名一样。

  1. public ActionResult AskForm(string txtTitle, string txtEditor, string dplBDTType, string selType, string txtYZM)
  2. {
  3. }

二、实体参数    HTML标签name 属性和Model属性保持一致

  1. [HttpPost]
  2. public ActionResult Apply(ViewModel.SNS.Star model)
  3. {
  4.   //逻辑
  5. }

三、表单集合

  1. [HttpPost]
  2. public ActionResult Apply(FormCollection Form)
  3. {
  4.   //逻辑
  5. }

前台表单发送给后台控制器三种方法:

  

  1. 一、HtmlHelper方法
  2.     Html.BeginForm(actionName,controllerName,method,htmlAttributes){}
  3.     Html.BeginRouteForm(HtmlHelper, String, Object, FormMethod)
  4. 二、传统Form表单Aciton属性提交

  5. 三、Jquery+Ajax 提交表单

  


一、Html.BeginForm
  1. Html.BeginForm (actionName ,controllerName ,method ,htmlAttributes) { } //注:所有要提交的内容包括按钮都必须在{ }内

参数

htmlHelper          此方法扩展的 HTML 帮助器实例  类型:System.Web.Mvc.HtmlHelper
actionName        操作方法的名称             类型:System.String
controllerName   控制器的名称           类型:System.String
routeValues        一个包含路由参数的对象。 通过检查对象的属性,利用反射检索参数。 此对象通常是使用对象初始值设定项语法创建的   类型:System.Object
method          用于处理窗体的 HTTP 方法(GET 或 POST)       类型:System.Web.Mvc.FormMethod
htmlAttributes    一个对象,其中包含要为该元素设置的 HTML 特性     类型:System.Object
返回值     类型:System.Web.Mvc.Html.MvcForm       <form> 开始标记

用法说明

在 Visual Basic 和 C# 中,您可以对 HtmlHelper 类型的任何对象将此方法作为实例方法调用。在您使用实例方法语法调用此方法时,将忽略第一个参数

  1. <h1>在线申请</h1>
  2. @using (Html.BeginForm("Apply", "Star", FormMethod.Post, new {@class="MyForm"}))
  3. {
  4. <div class="application_b_3">
  5. <table width="" border="">
  6. <tr>
  7. <td width="" height="">达人类型</td>
  8. <td width="">
  9. @Html.DropDownListFor(m => m.StarModel.TypeID, Model.DropList, new { id = "type", @class = "my-" })
  10. </td>
  11. </tr>
  12. <tr>
  13. <td height="">首页达人照</td>
  14. <td>
  15. <div class="picture_an" id="UploadPhoto" style="width: 142px">
  16. <a href="javascript:void(0);" class="btn_addPic"><span><em>+</em>上传照片</span>
  17. <input tabindex="" title="支持jpg、jpeg、gif、png格式,文件小于5M" size="" name="pic" id="absFileInput" class="filePrew" type="file" />
  18. </a>
  19. </div>
  20. </td>
  21. </tr>
  22. <tr>
  23. <td height=""></td>
  24. <td>
  25. @Html.HiddenFor(m => m.StarModel.UserGravatar, new { id = "SXtPhoto" })
  26. <img src="" id="imgPhoto" height="176px" />
  27. </td>
  28. </tr>
  29. <tr>
  30. <td height="">自荐理由</td>
  31. <td>
  32. @Html.TextAreaFor(m => m.StarModel.ApplyReason, new { id = "tDesc" })
  33. </td>
  34. </tr>
  35. <tr>
  36. <td height=""></td>
  37. <td>
  38. <a href=" javascript:void(0)" id="btnApplication"><img src="@Url.Content("~/Areas/SNS/Themes/Default/Content/images/ap_9.gif")" alt="" /></a>
  39. </td>
  40. </tr>
  41. </table>
  42. </div>
  43. }
 
一、Html.BeginRouteForm 

    

  1. Html.BeginRouteForm ( HtmlHelper, String, Object, FormMethod )

  参数

htmlHelper  此方法扩展的 HTML 帮助程序实例  类型:System.Web.Mvc.HtmlHelper
 
routeName  用于获取窗体发布 URL 的路由的名称  类型:System.String
 
routeValues   一个包含路由参数的对象。 通过检查对象的属性,利用反射检索参数。 此对象通常是使用对象初始值设定项语法创建的  类型:System.Object
 
method     用于处理窗体的 HTTP 方法(GET 或 POST) 类型:System.Web.Mvc.FormMethod 
 

返回值

  一个开始 <form> 标记  类型:System.Web.Mvc.Html.MvcForm

  使用说明

  在 Visual Basic 和 C# 中,可以在 HtmlHelper 类型的任何对象上将此方法作为实例方法来调用。当使用实例方法语法调用此方法时,请省略第一个参数。

    

  1. <div class="group-search-box clearfix">
  2.  
  3. @using (Html.BeginRouteForm("SearchPage", new { cityID = Model.CityID, productType = Model.CurrentProductType, currentPageIndex = Model.CurrentIndex, keyword = Model.keyword }, FormMethod.Get))
  4. {
  5. <input type="text" name="keyword" class="search-ipt" value=@Model.keyword>
  6.    <input type="submit" id="submit" value="搜 索" class="gsearch-btn" >
  7. }
  8.  
  9. </div>
 


二、传统Form表单Aciton属性提交

  直接利用html表单的Aciton属性进行提交。

  方法示例

  

  1. <form id="askform" action="@Url.Action("AskForm")" method="post">
  2. <div class="title-area-outter clearfix">
  3. <span></span>
  4. <select id="dplBDTType" name="dplBDTType"></select>
  5. <select id="selType" name="selType"></select>
  6. </div>
  7. </form>

三、Jquery+Ajax 提交表单

View 部分 

  1. <div class="issue" id="postWeibo" style="width: 80px">
  2. <a href="javascript:void(0)" class="publish-btn">发布</a>
  3. </div>

Jquery和Ajax部分

  1. //发布长微博
  2. $("#postWeibo").click(function () {
  3. var blogID = $("#hfID").val();
  4. var title = $("#title").val();
  5. var imgurl = $("#previewImgHide").val();
  6. var des = editor.getContent();
  7. if (title == "") {
  8. ShowFailTip('微博标题不能为空!');
  9. return;
  10. }
  11.  
  12. if (title.length >= ) {
  13. ShowFailTip("微博标题不能超出40个字!");
  14. return;
  15. }
  16. //检查是否数字
  17. if (isNaN(fee)) {
  18. ShowFailTip("不能包含文本必须是数值!");
  19. return;
  20. }
  21. if (ContainsDisWords(title + des)) {
  22. ShowFailTip('您输入的内容含有禁用词,请重新输入!');
  23. return;
  24. }
  25.  
  26. $.ajax({
  27. url: "/fx" + $Maticsoft.BasePath + "Blog/AjaxUpdate",
  28. type: 'POST',
  29. async: false,
  30. dataType: 'html',
  31. // timeout: 10000,
  32. data: { Title: title, CityID: city, Fee: fee, CategoryID: category, Days: days, Tag: tag, startDate: startdate, endDate: enddate, ImgUrl: imgurl, Des: des, BlogID: blogID }, //
  33. success: function (resultData) {
  34.  
  35. $(".dialogDiv").hide();
  36. if (resultData == "No") {
  37. ShowFailTip("操作失败,请您重试!");
  38. } else if (resultData == "AA") {
  39. $.jBox.tip('管理员不能操作', 'error');
  40. } else {
  41. var data = $(resultData);
  42. }
  43. }
  44. });
  45. });
 

【总结-前台发送后台接收表单】MVC提交表单的四种方式的更多相关文章

  1. ASP.NET MVC之下拉框绑定四种方式(十)

    前言 上两节我们讲了文件上传的问题,关于这个上传的问题还未结束,我也在花时间做做分割大文件处理以及显示进度的问题,到时完成的话再发表,为了不耽误学习MVC其他内容的计划,我们今天开始好好讲讲关于MVC ...

  2. C#拷贝一个库的表到另外一个库中(的四种方式)

    1.该方法 基本不能用于实际开发中 ,仅供学习参考 public string Copy() { //要复制的表名 string table = "AAAAA"; //构造连接字符 ...

  3. spring mvc 返回json数据的四种方式

    一.返回ModelAndView,其中包含map集 /* * 返回ModelAndView类型的结果 * 检查用户名的合法性,如果用户已经存在,返回false,否则返回true(返回json数据,格式 ...

  4. EF5+MVC4系列(7) 后台SelectListItem传值给前台显示Select下拉框;后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式(ViewDate,TempDate,ViewBag,Model (实际是ViewDate.Model传值))

    一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Ord ...

  5. C# MVC提交表单的四种方式(转)

    Mvc 提交表单的4种方法全程详解(转) 一,MVC  HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttribu ...

  6. JavaScript表单提交四种方式

    总结JavaScript表单提交四种方式 <!DOCTYPE html> <html> <head> <title>JavaScript表单提交四种方式 ...

  7. JavaWeb -- Struts1 使用示例: 表单校验 防表单重复提交 表单数据封装到实体

    1. struts 工作流程图 超链接 2. 入门案例 struts入门案例: 1.写一个注册页面,把请求交给 struts处理 <form action="${pageContext ...

  8. MVC验证10-到底用哪种方式实现客户端服务端双重异步验证

    原文:MVC验证10-到底用哪种方式实现客户端服务端双重异步验证 本篇将通过一个案例来体验使用MVC的Ajax.BeginForm或jQuery来实现异步提交,并在客户端和服务端双双获得验证.希望能梳 ...

  9. spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

随机推荐

  1. Java实现 LeetCode 671 二叉树中第二小的节点(遍历树)

    671. 二叉树中第二小的节点 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0.如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值. 给出这样的 ...

  2. Java实现 LeetCode 354 俄罗斯套娃信封问题

    354. 俄罗斯套娃信封问题 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现.当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一 ...

  3. Java实现 串中取3个不重复字母

    从标准输入读入一个由字母构成的串(不大于30个字符). 从该串中取出3个不重复的字符,求所有的取法. 取出的字符,要求按字母升序排列成一个串. 不同的取法输出顺序可以不考虑. 例如: 输入: abc ...

  4. Linux用户管理命令useradd、passwd、who详解

    创建用户命令useradd 命令useradd,所在路径为: 可以看到命令useradd的路径为:/usr/sbin/useradd,因此它的执行权限是root 命令的功能是创建一个新用户,例如:us ...

  5. 一篇文章快速搞懂 Atomic(原子整数/CAS/ABA/原子引用/原子数组/LongAdder)

    前言 相信大部分开发人员,或多或少都看过或写过并发编程的代码.并发关键字除了Synchronized,还有另一大分支Atomic.如果大家没听过没用过先看基础篇,如果听过用过,请滑至底部看进阶篇,深入 ...

  6. Java基础(十)

    一.XML概述 属性文件是用来描述程序配置,属性文件包含了一组名/值对.属性文件采用的是一种单一的平面层次结构,同时属性文件要求键是唯一的. XML格式能够表达层次结构,并且重复的元素不会被曲解. H ...

  7. Java I/O模型及其底层原理

    Java I/O是Java基础之一,在面试中也比较常见,在这里我们尝试通过这篇文章阐述Java I/O的基础概念,帮助大家更好的理解Java I/O. 在刚开始学习Java I/O时,我很迷惑,因为网 ...

  8. MySQL触发器的详细教学与综合分析

    所有知识体系文章,GitHub已收录,欢迎老板们前来Star! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual MySQL触发器 ...

  9. 通过数据库客户端界面工具DBeaver连接Hive

    前言 本文讲解如何通过数据库客户端界面工具DBeaver连接hive,并解决驱动下载不下来的问题. 1.为什么使用客户端界面工具 为什么使用客户端界面工具而不用命令行使用hive 通过界面工具查看分析 ...

  10. c++无法解析的外部符号 "int const bufferSize

    无法解析的外部符号 "int const bufferSize 严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2001 无法解析的外部符号 "int const bu ...