Form表单的传递与接收
表单的构建
我才知道这个东西,在开发中经常遇到表单的情况。一下子提交一串内容。表单元素 form,里面的内容必须有name字段。form表单action就是你后端控制器的地址,涉及密码一般post,enctype以流的形式。只要里面的元素有name,后端就可以通过name获取到。type="submit" 这就是提交表单了
<form action="/Home/test" method="post" enctype="multipart/form-data">
账号:<input type="text" name="userName" value="默认值" required><br />
密码:<input type="password" name="passWord"><br />
性别:<input type="radio" name="sex" value="boy" checked="checked" />男
<input type="radio" name="sex" value="girl" />女
<input type="radio" name="sex" value="none" />保密<br />
爱好:
<input type="checkbox" name="hobby" value="Vae" checked="checked">许嵩
<input type="checkbox" name="hobby" value="JJ" checked="checked">林俊杰
<input type="checkbox" name="hobby" value="shuyunquan">蜀云泉<br />
城市:
<select name="city" multiple="multiple" size="2">
<!--multiple是可以多选的意思,size是一次显示几个,option加value就是值是什么,不加默认写的深圳-->
<option value="sz">深圳</option>
<option value="bj">北京</option>
<option value="hn">河南</option>
</select><br /><br />
简介:
<textarea name="intro" rows="5" cols="30"></textarea> <!--这里textarea不能换行,必须写两个而且在同一行-->
<br /><br />
<input type="submit" value="注册" />
<input type="reset" value="重置" />
</form>
后端接收
想接受一个就这样写,里面是name。但是表单元素这么多,一个一个的接收,这不费事吗
[HttpPost]
public ActionResult test(FormCollection collection)
{
string name=collection["userName"];
return View();
}
创建model
一般来说,数据库的表对应一个model,然后表单的内容,也差不多就是model的字段。都是对应的,我们对上面的表单创建一个对应字段的model
public class Info
{
public string userName { get; set; }
public string passWord { get; set; }
public string sex { get; set; }
public string hobby { get; set; }
public string city { get; set; }
public string intro { get; set; }
}
用Model接收表单的后端
[HttpPost]不用多说,这是制定本action只接受post请求,[ValidateInput(false)]这个是取消危险验证,例如“<> %$#” 这些字符等,但是表单中的简介,备注什么的可能会使用这些字符,所以可以取消验证
[HttpPost]
[ValidateInput(false)]
public ActionResult test(FormCollection collection)
{
Info info = new Info();
TryUpdateModel(info);
return View();
}
没了,就一个TryUpdateModel方法就可以自动的把表单内容映射进model,然后接下来你是存进数据库还是操作就随意了。
Form表单的传递与接收的更多相关文章
- form表单提交controller层接收到的值为乱码的问题
今天遇到个中文乱码问题,大体情况是这样的:前台有一个form表单,其中有几个input的控件,值是带中文的,form表单只设置了id='form1' method='post' action='xx ...
- form表单提交,Servlet接收并读取Excel文件
首先是jsp页面: <body scroll=no style="overflow-y:hidden;" onselectstart="return false&q ...
- Form表单如何传递List数组对象到后台的解决办法(转)
举例说明: [后台有一个对象 User 一个PhotoDo对象],结构如下: public class User{ private String username; private List&l ...
- JsonResponse类的使用、form表单上传文件补充、CBV和FBV、HTML的模板语法之传值与过滤器
昨日内容回顾 Django请求生命周期 # 1.浏览器发起请求 到达Django的socket服务端(web服务网关接口) 01 wsgiref 02 uwsgi + nginx 03 WSGI协议 ...
- Asp 循环输出 form 表单提交的数据
亲测asp提交form表单数据,在接收页面循环输出数据 dim var for each var in request.form response.write var&"=" ...
- ajax传递数组、form表单提交对象数组
在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发 ...
- form表单传递对象数组
ajax传递数组.form表单提交对象数组 在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用 form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致 ...
- .netCore2.0 WebApi 传递form表单
随着it的技术发展,目前越来越多的项目采用前后端分离的开发模式,通过webapi提供接口数据来进行交互 最近项目用的是.netCore WebApi,在最近的项目使用中发现一些问题,进行记录.个人简介 ...
- 在IOS设备上POST提交form表单,后台接收不到值怎么办?
原文:https://blog.csdn.net/xhaimail/article/details/90440029 最近在工作上遇到一个奇葩问题,在Android和Windows平台上做请求时参数都 ...
随机推荐
- [Flutter] Router Navigation
Basic navigation by using 'Navigator.push' & 'Navigator.pop()', for example, we have two screen, ...
- [c++11]右值引用、移动语义和完美转发
c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能.有点难理解,于是花时间整理一下自己的理解. 左值.右值 C++中所有的值都必然属于左值.右值二者之一.左值是指表达式结束后依然存在的 ...
- PHP 鸟哥:我也曾经是“不适合”编程的人
网名:雪候鸟,大家尊称鸟哥,惠新宸 @Laruence, 是国内最有影响力的 PHP 技术专家,PHP 开发组核心成员,PECL 开发者,Zend 公司外聘顾问.他曾供职于雅虎,百度,现在新浪微博任平 ...
- mac php 安装php多版本
之前的开发,PHP的版本都是基于php7.3 .but!!! 接到一个老项目 tp3.1的.没法用php7.3 只能在装一个php5.6了.真坑爹.为啥还要TP3.1的项目.并且是刚开发的新项目. 真 ...
- 【golang】使用rpcx不指定tags报错 undefined: serverplugin.ConsulRegisterPlugin
为了避免引入不必要的库, rpcx采用了 Go 条件编译 的特性, 你可以只引入必要的特性. 比如你只使用 etcd 作为注册中心的时候, 你不希望引入 consul.zookeeper相关的库,你需 ...
- 怎么把分化成元,并且保留两位小数,用vue来做
<el-table-column prop="amount" label="申请提现金额" width="120" align=&qu ...
- IPV4 VS IPV6 谈谈省级ipv6的必要性
11月26日,中办.国办印发了<推进互联网协议第六版(IPv6)规模部署行动计划>,提出国内要在 5~10 年的时间形成下一代互联网自主技术体系和产业生态,建成全球最大规模的 IPv6 商 ...
- 7、vueJs基础知识07
UI组件库 element-ui和mint-ui 其实都是借鉴了bootstrap bootstrap: 由twitter 开源 简洁.大方 官网文档https://www.bootcss.com/ ...
- 【TensorFlow官方文档】MNIST机器学习入门
MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片:它也包含每一张图片对应的标签,告诉我们这个是数字几.比如,下面这四张图片的标签分别是5,0,4,1. 从一个很简单的数学模型开始:训练 ...
- DB2 sqlCode-668
客户端调用命令 CALL SYSPROC.ADMIN_CMD('reorg table tablename')