MVC中提交表单的4种方式

一,MVC  HtmlHelper方法
  1. Html.BeginForm(actionName,controllerName,method,htmlAttributes){}
  2. BeginRouteForm 方法 (HtmlHelper, String, Object, FormMethod)
二,传统Form表单Aciton属性提交
三,Jquery+Ajax 提交表单
四,MVC Controller控制器和表单参数传递

MVC  HtmlHelper方法

 

一,Html.BeginForm(actionName,controllerName,method,htmlAttributes){}

注:所有要提交的内容包括按钮都必须在{ }内

参数

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

返回值

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

用法说明

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

Html.BeginForm 方法示例

MVC View代码

复制代码
复制代码
 <h1>在线申请</h1>@using (Html.BeginForm("Apply", "Star", FormMethod.Post, new  {@class="MyForm"})){<div class="application_b_3"><table width="820" border="0"><tr><td width="80" height="50">达人类型</td><td width="730">@Html.DropDownListFor(m => m.StarModel.TypeID, Model.DropList, new { id = "type", @class = "my-" })</td></tr><tr><td height="50">首页达人照</td><td><div class="picture_an" id="UploadPhoto" style="width: 142px"><a href="javascript:void(0);" class="btn_addPic"><span><em>+</em>上传照片</span><input tabindex="3" title="支持jpg、jpeg、gif、png格式,文件小于5M" size="3" name="pic" id="absFileInput" class="filePrew" type="file" /></a></div></td></tr><tr><td height="50"></td><td>@Html.HiddenFor(m => m.StarModel.UserGravatar, new { id = "SXtPhoto" })<img src="" id="imgPhoto"  height="176px" /></td></tr><tr><td height="100">自荐理由</td><td>@Html.TextAreaFor(m => m.StarModel.ApplyReason, new { id = "tDesc" })</td></tr><tr><td height="50"></td><td><a href=" javascript:void(0)" id="btnApplication"><img src="@Url.Content("~/Areas/SNS/Themes/Default/Content/images/ap_9.gif")" alt="" /></a></td></tr></table></div>}
复制代码
复制代码

二,BeginRouteForm 方法 (HtmlHelper, String, Object, FormMethod)

参数

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

返回值

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

使用说明

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

BeginRouteForm示例

复制代码
复制代码
<div class="group-search-box clearfix">@using (Html.BeginRouteForm("SearchPage", new { cityID = Model.CityID, productType = Model.CurrentProductType, currentPageIndex = Model.CurrentIndex, keyword = Model.keyword }, FormMethod.Get)){<input type="text" name="keyword" class="search-ipt" value=@Model.keyword><input type="submit" id="submit" value="搜 索" class="gsearch-btn" >}</div>
复制代码
复制代码

传统Form表单Aciton属性提交

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

方法示例

复制代码
复制代码
 <form id="askform" action="@Url.Action("AskForm")" method="post"><div class="title-area-outter clearfix"><span></span><select id="dplBDTType" name="dplBDTType"></select>                   <select id="selType" name="selType"></select>   </div>
</form>
复制代码
复制代码

Jquery+Ajax 提交表单

方法示例

View 部分

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

Jquery和Ajax部分

复制代码
复制代码
    //发布长微博$("#postWeibo").click(function () {var blogID = $("#hfID").val();var title = $("#title").val();var imgurl = $("#previewImgHide").val();var des = editor.getContent();if (title == "") {ShowFailTip('微博标题不能为空!');return;}if (title.length >= 40) {ShowFailTip("微博标题不能超出40个字!");return;}//检查是否数字if (isNaN(fee)) {ShowFailTip("不能包含文本必须是数值!");return;}if (ContainsDisWords(title + des)) {ShowFailTip('您输入的内容含有禁用词,请重新输入!');return;}$.ajax({url: "/fx" + $Maticsoft.BasePath + "Blog/AjaxUpdate",type: 'POST',async: false,dataType: 'html',//            timeout: 10000,data: { Title: title, CityID: city, Fee: fee, CategoryID: category, Days: days, Tag: tag, startDate: startdate, endDate: enddate, ImgUrl: imgurl, Des: des, BlogID: blogID }, //success: function (resultData) {$(".dialogDiv").hide();if (resultData == "No") {ShowFailTip("操作失败,请您重试!");} else if (resultData == "AA") {$.jBox.tip('管理员不能操作', 'error');} else {var data = $(resultData);}}});});
复制代码
复制代码

 

转载于:https://www.cnblogs.com/zhengwei-cq/p/7605948.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

photoshop制作网站圆形图标ico

1、选择左侧工具栏中的椭圆工具2、鼠标直接在图片上选择区域3、在图片上鼠标右键建立选区&#xff0c;在弹出的对话框直接点确定变成这样&#xff1a;4、点击选择&#xff0c;然后点击反选变成这样5、图层栏&#xff0c;在图片上右键复制图层&#xff0c;弹出对话框直接确定即可…

《简明 PHP 教程》00 开篇

《简明 PHP 教程》是一本旨在介绍如何使用 PHP 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 PHP 编程语言。如果你对电脑知识的了解仅限于如何保存文本文件的话&#xff0c;那这本书就是为你准备的。 本博客后续将以连载的方式为读者呈现这本书。 关于作者 一名…

WPF 窗体设置亚克力效果

WPF 窗体设置亚克力效果控件名&#xff1a;WindowAcrylicBlur作者&#xff1a; WPFDevelopersOrg - 吴锋原文链接&#xff1a; https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。项目使用 MIT 开源许可协议。WindowAcrylicB…

JS向后台传递json数组对象

var Obj [];            //一下代码可以循环插入            var returnObj new Object();//创建一个对象returnObj.id “123”&#xff1b;returnObj.money 456“”;Obj.push(returnObj);           JS中将Obj对象进行序列化操作   …

ArrayBlockingQueue跟LinkedBlockingQueue的区别

1.队列中的锁的实现不同 ArrayBlockingQueue中的锁是没有分离的&#xff0c;即生产和消费用的是同一个锁&#xff1b; LinkedBlockingQueue中的锁是分离的&#xff0c;即生产用的是putLock&#xff0c;消费是takeLock 2.在生产或消费时操作不同 ArrayBlockingQueue基于数组&…

jqGrid('setSelection',rowid)报Cannot read property 'multiple' of undefined

项目组非要上jeeweb框架&#xff0c;用jqgrid大量iframe做为前端框架&#xff0c;臃肿不堪。 今天上午&#xff0c;在进行选定操作jqGrid(setSelection,rowid)报Cannot read property multiple of undefined&#xff0c;怎么分析也找不出原因&#xff0c;最后百度搜了一下竟然有…

数据分块加载——BigPipe 技术【类似facebook】

一、原理 分块加载&#xff0c;加载完一块&#xff0c;就先把页面数据刷给用户&#xff0c;再加载下面的&#xff0c;直到加载完毕二、基础需知&#xff1a;三、服务端和php的相应配置 如果想实现分块加载【bigpipe技术】&#xff0c;还需要对nginx.conf 和 php.ini 进行相应配…

Maven -- 在进行war打包时用正式环境的配置覆盖开发环境的配置

我们的配置文件一般都放在 src/main/resource 目录下。 假定我们的正式环境配置放在 src/main/online-resource 目录下。 那么打成war包时&#xff0c;我们希望用online-resource下的配置文件取代resource 下的配置文件。 pom.xml 插件配置&#xff1a; <plugin><gr…

右键一下,哇塞!

面向 Dev 频道的 Windows 预览体验成员微软推送了 Windows 11 预览版Insider Preview Build 25211主要变化1.微软改进了 Windows 11 小组件面板&#xff0c;小组件面板中的添加按钮更加醒目&#xff0c;点击用户头像将打开小组件设置。Windows 11 小组件由 Microsoft Edge 浏览…

前端学习 -- Css -- 内联元素的盒模型

内联元素不能设置width和height&#xff1b;设置水平内边距,内联元素可以设置水平方向的内边距&#xff1a;padding-left&#xff0c;padding-right&#xff1b;垂直方向内边距&#xff0c;内联元素可以设置垂直方向内边距&#xff0c;但是不会影响页面的布局&#xff1b;为元素…

Redis 数据持久化的方案的实现

一、需要了解的基础 1、Redis实现数据持久化的两种实现方式&#xff1a; RDB&#xff1a;指定的时间间隔内保存数据快照 AOF&#xff1a;先把命令追加到操作日志的尾部&#xff0c;保存所有的历史操作二、RDB 实现 Redis数据持久化&#xff08;默认方式&#xff09;1、编辑 red…

div剩余空间填满

div里有一个固定高度的div使其另一个div填满空间&#xff0c;外层div设置的高度为百分比&#xff0c;给外层一个相对定位&#xff0c;设置想要充满的div高度为100%&#xff0c;其中这次有个要求&#xff0c;使其填充div里面的内容距离固定高度div30px&#xff1b;给填充div一个…

快速生成快递柜唯一取件码

曾管理一万多台快递柜&#xff0c;优化了系统中生成唯一取件码的算法。项目&#xff1a;https://github.com/nnhy/PickupCode新建项目&#xff0c;添加 Nuget 应用 NewLife.Redis &#xff0c;借助其Add去重能力。代码如下&#xff1a;private static void Main(string[] args)…

自动调试自动编译五分钟上手

Browsersync能让浏览器实时、快速响应您的文件更改&#xff08;html、js、css、sass、less等&#xff09;并自动刷新页面。更重要的是 Browsersync可以同时在PC、平板、手机等设备下进项调试。 无论您是前端还是后端工程师&#xff0c;使用它将提高您30%的工作效率。 MD5加密&a…

六台机器搭建RedisCluster分布式集群

一、RedisCluster结构二、redis Cluster集群搭建1、修改redis.conf中需要更改的配置 bind 改成当前ip cluster-enabled yes #允许redis集群 cluster-config-file nodes-6379.conf #集群配置文件 cluster-node-timeout 15000 #集群中节点允许失联的最大时间15s 注&#xff1…

C# 的 async/await 其实是stackless coroutine

注&#xff1a; 最近Java 19引入的虚拟线程火热&#xff0c;还有很多人羡慕 go的 coroutine&#xff0c;很多同学一直有一个疑问&#xff1a; C# 有 虚拟线程或者 coroutine吗&#xff0c;下面的这个回答可以解决问题。这里节选的是知乎上的hez2010 的高赞回答&#xff1a;http…

推荐使用typora

最近在网上接触到一款全新的markdown写作工具——typora。 现在它已经是我的主要写作工具了。 甚至我也也会利用它安排自己的工作和任务。 typora介绍 下载链接特色&#xff1a;可以即时渲染markdown语法的书写工具总算找到了&#xff0c;终于不用再纠结发生语法错误&#xff0…

中文词频统计

import jiebafoopen(text.txt,r,encodingutf-8)tfo.read()fo.close() wordsjieba.cut(t)dic{}for w in words: if len(w)1: continue else: dic[w]dic.get(w,0)1wc list(dic.items())wc.sort(keylambda x:x[1],reverse True)for i in range(20): print(wc[i]) 转载于:https:/…

实现html锚点的两种方式

1&#xff0c;a标签name属性。 2&#xff0c;使用标签的id属性&#xff1b;

mysql实现读写分离

一、环境介绍&#xff1a; LNMP vmware workstation pro配置了3个虚拟机&#xff0c;均安装了LNMP环境&#xff1a; Pro &#xff1a;192.168.0.105 Pro2&#xff1a;192.168.0.106 Pro3&#xff1a;192.168.0.107 二、Mysql主从复制同步的实现 https://blo…