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平台上做请求时参数都 ...
随机推荐
- python会缓存小的整数和短小的字符
经过测试,python会缓存的小整数的范围是 [-5, 256] # True a = 1 b = 1 print(a is b) # True a = "good" b = &q ...
- jquery中ajax跨域加载
今天学习ajax跨域加载,先来一段代码,异步加载的链接是爱奇艺的开源,我直接拿来用作测试 <!DOCTYPE html> <html lang="en"> ...
- TPC-H简介
TPC-H是事务处理性能委员会( Transaction ProcessingPerformance Council )制定的基准程序之一,TPC- H 主要目的是评价特定查询的决策支持能力,该基准模 ...
- window的pid为4的system进程占用80端口的解决办法
1.taskkill /pid 4 /f 无法终止进程占用80端口的进程时,运行 net stop http(若是第一次运行不能终止所有服务,继续运行该命令)
- Win32 Error
一.Win32错误 也就是Win32子系统产生的错误.当我们在自己的代码里调用Windows系统的API函数,系统执行API内部代码,当API内部代码出现错误,会将预先定义好的错误代码写到调用这个AP ...
- LIO -SCSI target
2010年底,LIO 项目获选成为新的内核态的 SCSI target,取代原有的用户态的 STGT 项目.当时有两个主要的竞争项目(LIO和SCST),都在努力将代码并入主线内核.本文将比较着两个项 ...
- noip考点整理(应该不是很完整……)
部分来自百度百科.其他的博客 一.必须会的 1.暴力: DFS.BFS.灌水法搜索.回溯搜索.记忆化搜索.启发式搜索.最优性剪枝.可行性剪枝 2.贪心 3.模拟 4.骗分 二.基础算法 1.图论:SP ...
- 2017.10.7 国庆清北 D7T2 第k大区间
题目描述 定义一个长度为奇数的区间的值为其所包含的的元素的中位数. 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少. 输入输出格式 输入格式: 输入文件名为kth.in. 第一行两 ...
- Transform详解(超详细) Attention is all you need论文
一.背景 自从Attention机制在提出 之后,加入Attention的Seq2 Seq模型在各个任务上都有了提升,所以现在的seq2seq模型指的都是结合rnn和attention的模型.传统的基 ...
- 《挑战30天C++入门极限》图文例解C++类的多重继承与虚拟继承
图文例解C++类的多重继承与虚拟继承 在过去的学习中,我们始终接触的单个类的继承,但是在现实生活中,一些新事物往往会拥有两个或者两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念 ...