代码改变世界

Asp.net MVC、Extjs(运用Linq to SQL和List泛型)批量更新、删除、打印(使用CKEditor)、导出Excel

  夜雨瞳  阅读(8495)  评论(20编辑  收藏  举报

1、批量操作思想的大概模型

更新:

删除:

2、导出Excel的特点

页面渲染来导出数据

3、打印(运用的是CKEditor)

 

4、一些程序解释说明

4.1@page指令 validateRequest的作用

    在 Web应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。其他类型的恶意数据或不需要的数据可以通过各种形式的输入在请求中传入。通过在应用程序中的较低级别限制允许通过的数据类型,就可以阻止不希望的事件,即使当使用代码的程序员没有恰当地使用合适的验证技术时也是如此。

当请求验证检测到潜在的恶意客户端输入时,会引发此异常来中止请求处理。请求中止能够指示危害您的应用程序安全的企图,例如跨站点脚本攻击。强烈建议让您的应用程序显式地检查与请求中止有关的所有输入。不过,您也可以通过将 @ Page 指令中的 validateRequest 属性设置为 false 来禁用请求验证,如下面的示例所示:

<%@ Page validateRequest="false" %>

要禁用应用程序的请求验证,必须修改应用程序的 Web.config 文件或创建一个 Web.config 文件,并将 pages 节的 validateRequest 属性设置为 false,如下面的示例所示:

<configuration>

<system.web>

<pages validateRequest="false" />

</system.web>

</configuration>

 

 



4.2 将前台的数据转换为Json字符串 传送 给后台进行List泛型反序列化,需要一些凑合的函数或者方法

 

 

 

4.3 对ExtJs官方提供的ExportToGrid.js的文件,可以自己进行部分的改动。

 

 

5、总结

这个EditorGridPanelr做的缺点很多。

5.1、在EditorGridPanel的批量更新上,用了SQL的update语句,因为Linq的批量更新上,转化后的SQL语句在效率上还是有些缺憾的。当然,这样子写程序有违背了程序之美。其中,批量更新网上有不少的例子,如:http://www.aneyfamily.com/terryandann/post/2008/04/batch-updates-and-deletes-with-linq-to-sql.aspx,但是因为能力有限,所以只能用自己的方法解决一些像这样子的问题。

5.2、在导出Excel时,暂时我只做了导出当前的页面,没有考虑导出全部的页面。而且,也试过了几个浏览器,如firefox、IE等,但是不完全兼容。firefox可以导出,IE7、IE8也可以。

5.3、打印工作做得不大好,可以打印选中的记录,却打印不了“根据页面渲染后”(如减少列,按姓名、编号==排序)。在很多方面上做得还是不够完整。

5.4、直接用SQL的Update语句,要是断电的话,那怎么办?更新数据更新到一半?所以在异常捕获方面也做得不大好,很乐意大家提出建议。

 

6、以下是相关配置和使用的环境:

win7系统

vs2008 sp1

SQL2005

.NET FrameWork3.5

extjs3.2版本

ckeditor3.4版本

 

7.下载

因为源代码没有加入Extjs和ckeditor,所以这部分添加麻烦读者自己到它们的官方网站下载了。

Extjs官方下载包:http://www.sencha.com/products/js/ 

ckeditor官方下载包:http://ckeditor.com/download

源代码下载包:https://files.cnblogs.com/yongfeng/ExtJs_ASPMVC_Batch_Operation.rar

努力加载评论中...
点击右上角即可分享
微信分享提示