日期:2014-05-20  浏览次数:20509 次

这样的页面架构能否使用ajax.net实现局部更新?
1.页面从MasterPage中继承。
2.页面由两个自定义控件(A与B)组成
3.其中A通过加载用户控件(C.ascx)来创建控件UI部分。
4.其中c.ascx也由两个自定义控件组成(D与E).
5.D和E也是通过加载用户控件的方式创建。

整个页面最终体现给用户为三个区域,要求每个区域都能够实现局部更新。
问:这种用户控件+自定义控件页面架构能否使用ajax.net实现局部更新。

------解决方案--------------------
当然可以的
------解决方案--------------------
“要求每个区域都能够实现局部更新”这个在我看来就是“伪Ajax”。Ajax应该对页面上成百上千的区域“随意”局部刷新,而不是划分成几大区域刷新。

任何web程序都可以使用Ajax框架改造,Ajax技术相当通用。但是也正因为通用,所以它非常底层。尽管一点也不复杂,但是与具体的开发框架结合非常紧密,甚至传统的控件要做一些修改。

例如用Calendar控件制作日程表管理软件主界面,当某日期的格子里改变了,不应该刷新Calendar,而今应该仅刷新这一个日期格子(html的td对象)。对Calendar需要做的改造是给cell增加输出客户端id的功能(Attributes[ "id "]= "... "),然后就是将这个Cell输出到客户端而不是Calendar输出,更不是Page输出。

另外,还要顾及控件的状态管理问题。如果为了速度,还应该解决“重建控件问题”。如果每一次请求都要在服务器上重建所有控件就太慢了。asp.net ajax框架解决此道是把所有控件和状态都移到客户端javascript管理,我不知道这条路能走多远。

总之选择ajax或者自己开发框架,需要自立更生。我在客户端回调基础上做了一个大概700行的ajax框架,初步达到了我的要求。
------解决方案--------------------
回sp1234:

我也可以有如此立论:asp.net也是伪web开发,写东西最好也是自力更生
------解决方案--------------------
扯蛋,就这么点水平还自力更生,写出来的东西顶多只能算能跑,离好字还十万八千里呢
最鄙视中国的程序员动不动就要自立更生