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;弹出对话框直接确定即可…

WPF 窗体设置亚克力效果

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

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

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

右键一下,哇塞!

面向 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…

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

曾管理一万多台快递柜&#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…

中文词频统计

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:/…

[BZOJ1509][NOI2003]逃学的小孩

1509: [NOI2003]逃学的小孩 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 968 Solved: 489[Submit][Status][Discuss]Description Input 第一行是两个整数N&#xff08;3  N  200000&#xff09;和M&#xff0c;分别表示居住点总数和街道总数。以下M行&#xff0c;每行…

关闭 Visual Studio 2013 的 Browser Link 功能

什么是 Browser Link ? 这个 Browser Link 的功能就是通过一个脚本文件架起流程器和 Visual Studio IDE 之前的一个通信桥梁&#xff0c; 在启用 Browser Link 后&#xff0c; Visual Studio 会给网站注入一个 IHttpModule 模块对象&#xff0c; 然后在每个页面都会注册一段上…

Groove list操作-转数组,collect,each等

2019独角兽企业重金招聘Python工程师标准>>> list转换为数组 List list [a,b,c,d] def strs list as String[] println strs[0] 使用了Groovy语言&#xff0c;就能时不时的感受到Groovy语言在编码风格上与Java语言的不同。当然&#xff0c;我们首先感受到的可能就…

支持多种操作系统的新一代服务主机

一个应用需要常驻操作系统后台服务&#xff0c;可选框架有WindowsServiceLifeTime和SystemdLifeTime&#xff0c;但需要区别对待不同操作系统且需要另外写命令安装。NewLife.Agent自2008年设计以来&#xff0c;一直秉着简单易用的原则&#xff0c;不仅实现了服务框架&#xff0…

[翻译]Dapr 长程测试和混沌测试

介绍这是Dapr的特色项目&#xff0c;具体参见&#xff1a;https://github.com/dapr/test-infra/issues/11 &#xff0c;在全天候运行的应用程序中保持Dapr可靠性至关重要。在部署真正的应用程序之前&#xff0c;可以通过在受控的混沌环境中构建&#xff0c;部署和操作此类应用程…

Mysql Lost connection to MySQL server at ‘reading initial communication packet', system error: 0

一、问题描述&#xff1a; 在服务器端可以正常连接并操作mysql&#xff0c;但是在windows端使用navicat工具远程ssh连接就出现下面错误。 1、服务器端&#xff1a; 2、windows端navicat连接 3、原因 原来我今天在做主从配置的时候&#xff0c;将 /etc/my.cnf 配置文件中的b…

自定义ProgressBar(圆)

2019独角兽企业重金招聘Python工程师标准>>> <lib.view.progressbar.ColorArcProgressBarandroid:layout_width"match_parent"android:layout_height"220dip"android:id"id/barInterest"android:layout_centerInParent"true&…

C# Task用法详解

概述Task是微软在.Net 4.0时代推出来的&#xff0c;Task看起来像一个Thread&#xff0c;实际上&#xff0c;它是在ThreadPool的基础上进行的封装&#xff0c;Task的控制和扩展性很强&#xff0c;在线程的延续、阻塞、取消、超时等方面远胜于Thread和ThreadPool&#xff0c;所以…

函数调用堆栈图

转载于:https://www.cnblogs.com/DeeLMind/p/7617972.html