使用Coolite.AjaxMethods.XXX局部刷新Microsoft的GridView

来源:互联网 发布:阿里云 注册商标 编辑:程序博客网 时间:2024/04/29 17:50

1.需求起因

      由于目前项目中使用了Coolite的很多控件布局,而以前有些功能实现依敕于MS的GridView,更头疼的是公司以前专门用于页面表单处理的Editor在Coolite,MS的UpdatePanel相结合的时候不能正常工作,所以引出了这个用Coolite的Ajax方法(其它的Ajax方法也可)刷新GridView的问题。

2.功能说明

      我需要一个类型GridView增加、编辑、删除的功能,在新增、修改、删除单行时不影响数据库,当所有数据编辑好之后,点击保存按钮进行整个GridView数据的保存。使用Coolite.AjaxMethods.XXX方式刷新GridView的显示。用这种方式关键问题在于Coolite的AjaxMethods进行Ajax请求及处理上,不会处理MS自己的ViewState。所以自己模拟了ViewState保存的过程,以达到解决此问题的方法。

3. 实现过程

      由于Ajax方法返回必须是一个字符串,所以可将GridView绑定后生成的HTML代码作为返回值,这里我偷了一个懒,直接使用Coolite的Label来存GridView的HTML代码,让Coolite的Label自己更新,这样我不用自己要将HTML代码返回客户端,再写JS来呈现。

      写一个用户控件,拖放GridView,按自己需要进行绑定。用户控件提供一个返回GenerInnerHTML的公共方法,用来返回GridView绑定之后生成的HTML代码。

 

完整代码:

 

 GenerGridViewInnerHtml.ascx

 

GenerGridViewInnerHtml.ascx.cs

 

ReurbishGridView.aspx

 

ReurbishGridView.aspx.cs

   

 

       总的来说还是比较麻烦,对Coolite控件的使用还不太熟悉。希望大家有什么问题和看法,请提出来一起交流。请各位前辈多加指点,谢谢。