Asp.Net MVC4通过id更新表单
来源:互联网 发布:java使用openoffice 编辑:程序博客网 时间:2024/06/05 06:54
我也是看别人大神写的 记录下来以供以后可以看:
用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑。只能编辑其中部分字段。
而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容就会报错,因为有些不能为null的字段由于disabled属性根本无法在前端被获取而后更新至数据库。
有下面两种思路:
1.通过创建隐藏表单,为每一个disabled控件分别创建一个隐藏控件,但是这样的问题是工作量太大(如果表单有一千个属性,你懂的)
2.通过获取该表单在数据库中的id,把该id和可以编辑的字段传递到后台。首先通过id将对象及其属性数据从数据库中搜索出来,然后将可以编辑的字段赋值给该对象。处理完毕后,再将该对象的数据更新至数据库。
综上所述,用第二种思路能显得更加睿智。
下面是具体的操作步骤:(具体步骤就不用细看了,这是我从项目中抽出来的,只适合我自己回顾)
1.在OutsourcingModule.cs中创建路由,以此创建一个访问路径:
2.
3.前端js脚本代码
其实思路很简单,但是我特么做了大半天- -;其中还遇到了一个大坑:
在第二段代码的参数列表中,我一开始把string workSheets写成了WorkSheets。这时文字下出现了蓝色的波浪线,Alt+Enter后系统提示Rename to workSheets,我便直接回车确定了。然后,WorkSheets字段便再也无法保存,也不能从数据库中读取。在同事帮忙找了N久之后发现,原来是当时大写改小写的过程中同时将dbml文件中的字段也改成了小写导致了无法和数据库匹配。
做这个功能的时候顺便学到的一点知识:
如果一个input的id为apple,那么可以这么获取,这是我本来就知道的:
如果一个input的name为apple,那么可以这么获取,这是我刚知道的:
还有一个刚知道的,如果从很多input中去除某个name:
另外总结下ajax的方式,很久不用都快忘了:
- Asp.Net MVC4通过id更新表单
- [MVC4]初识ASP.NET MVC4
- asp.net mvc4 通过BundleTransformer.Less集成less
- ASP.NET MVC4通过UrlRewriter配置伪静态
- ASP.NET MVC4通过UrlRewriter配置伪静态
- asp.net mvc4+easyui
- asp.net mvc4
- ASP.NET MVC4
- ASP.NET MVC4 RemoteAttribute
- asp.net mvc4
- ASP.NET MVC4 高级编程
- ASP.NET MVC4自定义分页
- ASP.NET MVC4 PRG模式
- ASP.NET 4.5 MVC4.0
- ASP.NET MVC4 学习参考
- ASP.NET MVC4全局过滤器
- ASP. NET MVC4 NHibernate篇
- ASP.NET MVC4全局过滤器
- 利用 CSS3 实现一个转动立体六边形 <一>
- 简单几步,提升.Net Core的开发效率
- Git详解之二 Git基础
- 【Python】面向对象class
- SequoiaDB巨杉数据库深度整合Spark 2.0,国内首家Spark认证数据库
- Asp.Net MVC4通过id更新表单
- 解决接串口设备后鼠标乱飘
- 【Redis源码剖析】
- 百度地图在合适视野范围内显示所有的点
- scala中的match详解
- 多线程基础四(三)、yield方法、线程优先级以及守护线程
- Oracle之SQL子查询
- 大公司里怎样开发和部署前端代码?
- Git详解之三 Git分支