WEB 开发 开发语言 Java 技术 .Net 技术 数 据 库 硬件使用
图象媒体 Linux/Unix 移动平台 嵌入开发 Windows 专区 软件工程
Ajax 技术 | ASP | PHP | ASP.NET | C# | JSP | Access | Oracle | 网页设计 | Flash | 安全专题 | IIS | VC/MFC | Delphi | C/C++
 你的位置:首页 > .Net 技术 > ASP.NET

关于Ajax操作后数据绑定的问题,各位来看下
[ 来源:ITWENKU 时间:2006-9-27 17:40:54 | 浏览:217人次 ]

近日遇见一个问题,不知各位是否也遇到过
用一个DataTable作为DataList或Dropdownlist的数据源,在运行时用ajax调用后台处理的方法对DataTable进行增或删的操作,然后再绑定给DataList,问题就出在绑定上,我catch到“未将对象引用到实例”,还请各位帮忙


up


代码呢


你使用的那个Ajax大概就是对导致你放弃asp.net,放弃控件状态控制,变成jsp。


我只是想来讨论下这个问题,看有没有解决的办法
请帮忙指导一下,谢谢


一般来说,与普通的网页一样,在Ajax后台服务初始化阶段需要重建页面上的控件——DataList,然后你才能访问它。例如在普通页面回发的代码中大多数人在page_load中或者createChildControls中重建(绑定)DataList。

你创建DataList的代码在Ajax后台服务被执行了吗?如果执行了,又是怎样获得DataList中客户端修改的值得呢(例如其中有一个文本框被修改应该在Ajax后台服务获得此Text新值以及TextChaned事件)?如果没有,那么你的Ajax非常简单,简单到你要放弃asp.net了回到比asp还古老的时代去,那个时代只有javascript,后台仅仅使用http的Get请求的参数来获取信息。而asp.net是通过面向对象方式直接访问控件的属性、控件的事件的。


好像不能在后台异步绑定控件吧

应该返回一个数据包 然后用数据包里的数据在前台用javascript控制DataList或Dropdownlist


按照你选择的Ajax,你根本不应该在按照asp.net的思维去操纵控件,你的那种Ajax跟控件无缘。


sp1234 能说一下该如何在page_load重建来实现吗?谢谢


没这样应用过,顶一下


你使用的Ajax是个什么机制?你的页面的page_load它会给你执行吗?如果执行,它会给你再post进去DataList里所有的客户端提交的值吗?

这有一点像 atlas 的 updatepanel。不过UpdatePanel非常蠢笨,它既不能对“TreeView中某一个Node”这样的细节设置Ajax区域,也不能让Ajax的结果同时更新页面上多个小的控件而是只能是UpdatePanel整个区域。我觉得这个UpdatePanel以及更早更经典的MagicAjax能够让你绑定DataList(不过我并没有用过它们)。但是它们好像只能读状态,都不能将你对页面上控件的状态更新写回页面。

不知道你使用的Ajax是什么?


大部分通用的Ajax,由于都不是在asp.net这样面向丰富的服务器控件土壤上开发出来的,就像ralpha08(被水淹死的鱼) 所说的,都是让你自己将数据库编码成字符流返回给javascript,然后javascript再解码,再使用客户端dhtml对象创建界面。所有控件都用javascript重新写,服务器仅仅是个WebService一样以非常简单的字符串作为I/O参数。


我在客户端用一个select下拉菜单让用户自主选择每页显示的记录条数,这些记录用datalist绑定,比如用户选择10,然后我用Ajax调用CS代码,重绑定给datalist,想在页面中实现无刷新,但这样却实现不了重新绑定


你的思路不正确,.aspx页面在你执行完毕后,里面的一些控件基本上就“不存在了”,如果你这时侯再通过 Ajax 来调用.aspx页面里面的控件当然要报错:"未将对象引用设置到对象的实例".
如果你想通过 Ajax 向 DataTable 里面添加数据,再将 DataTable 绑定到 DataList 倒不如直接通过 JavaScript 脚本向 DataList 里面添加数据,DataList 映射到 HTML 里面是 DropDownList控件,你可以直接通过 JavaScript 控制。


DataList 映射到 HTML 里面是 DropDownList控件?
好像不是呀,我不知道怎么控制,请songsu讲得详细点吧,多谢了


atlas 才是跟微软一伙的撒,顶


回头认真看了下你的题目,才发现你是想对绑定的数据进行修改啊,我觉得那个思路不对,想松鼠说的那样,你要想想那个web的运行原理。你可以简单的把数据源进行修改为新的数据源直接搬上去啊

 相关文章
·请问他的刷新怎么做的,他的JS好乱
·HttpContext 老是报错?
·ConnectionString 属性尚未初始化
·批量插入数据如何执行触发器?
·未将对象引用设置到对象的实例!!
·请问在oracle9.02下开发的asp.net程序能访问oracle9.01数据库吗?

 推荐文章
TextBox中的文本怎么分行显示??
一个小算法问题
关于图片url的问题
关于实现动态菜单的一个问题
动态改变论坛风格是怎么做到的?
这样的搜索结果该如何用什么控件绑定?
如何解决excel把01234567自动显示为1234567的情况啊
关于引用appSettings的问题
CuteEditor存入Access数据库的问题。急急
asp。net 2。0运行数据库错误
url传值,丢值的问题?
服务器问题
 版权所有:IT问库
copyright © 2006 www.itwenku.cn all rights reserved.