随笔-312  评论-11874  文章-2  trackbacks-220
小弟在博客园安家一个多月,文章主要以交流分享ASP.NET Atlas为主。承蒙各位朋友的厚爱,不时有朋友询问一些问题。然日间工作忙碌,夜间加重上网环境又不好。很多时候没有能力一一解答,对各位朋友的怠慢,还请见谅。

现在特发此帖,朋友们有什么关于Atlas的问题,请您在这里以留言的形式提出,我争取尽快回答并给出满意的答案,同时其他的朋友也可以从这些问题中找到自己感兴趣的信息。

我会不时将常见的问题整理成ASP.NET Atlas FAQ并发布在另外的帖子中。

让我们一起学习,共同进步!
posted on 2006-05-10 15:57 Dflying Chen 阅读(36070) 评论(1418)  编辑 收藏 所属分类: ASP.NET AJAX (Atlas)Atlas团队相关
评论共8页: 1 2 3 4 5 6 7 8 下一页 

评论:
#1楼  2007-07-11 11:08 | wfx [未注册用户]
陈老师你好,我刚开始学ajax 就遇到一个很棘手的问题。请你帮我解决一下.
问题是这样的:
我想在一个页面中实现两个textbox的自动完成功能。我现在使用AutoComplete控件能够完成textbox1的自动完成功能,textbox2则不会出现自动完成效果。请陈老师指教!

  回复  引用    
#2楼  2007-07-11 11:13 | wfx [未注册用户]
在一个页面中可以放两个AutoComplete 控件吗?
我放了两个AutoComplete 控件分别设他们的关联控件textbox1 和textbox2。进行.asmx文件调试后,两个textbox 自动完成显示的内容怎么都和调试的测试数据自动提示的内容是一样的,这是为什么呢?

  回复  引用    
#3楼 [楼主] 2007-07-11 11:30 | Dflying Chen      
@wfx
“两个textbox 自动完成显示的内容怎么都和调试的测试数据自动提示的内容是一样的”
——————————————————
这句话是什么意思?
  回复  引用  查看    
#4楼  2007-07-11 11:47 | wfx [未注册用户]
就是 在浏览器中查看完.asmx文件后 直接单击执行按钮后无论 textbox1 textbox2 中输入什么值 都只出现在浏览器中查看完.asmx文件时自动完成的内容, 例如 我在在浏览器中查看完.asmx文件时输入 北 那自动完成就会显示 北京 北海 ,而在F5 执行时 在textbox1中填入哈时 ,textbox1 只能自动完成显示内容还是北京 北海。
  回复  引用    
#5楼  2007-07-11 11:50 | wfx [未注册用户]
陈老师,
在一个网页中可以同时使用两个AutoComplete控件 去关联两个Textbox 吗?
我就想在一个页面里 实现两个textbox 的自动完成功能,这个功能已经困惑我好几天了,这星期就要交了。
请您帮我提个解决方案吧
  回复  引用    
#6楼 [楼主] 2007-07-11 11:51 | Dflying Chen      
@wfx
请别把问题复杂化。
页面只有一个TextBox的时候是正常的么?
两个TextBox和出现这个问题之间有什么关系么?
  回复  引用  查看    
#7楼  2007-07-11 11:57 | wfx [未注册用户]
哦, 我的问题可能太多了。
页面中出现一个textbox 自动完成功能是正常的。

当我该用两个textbox ,在页面中添加了两个AutoCompleteExtender后,数据库里存放的是汉字地名。就出现了这个问题

  回复  引用    
#8楼 [楼主] 2007-07-11 11:59 | Dflying Chen      
@wfx
AutoCompleteExtender的代码能贴出来看看么?
  回复  引用  查看    
#9楼  2007-07-11 12:11 | 吴祝明      
陈老师,你的书中最后一章举的应用AJAX的案例--Jobs Site Starter Kit 中,当鼠标指向导航的TreeView控件的节点时,节点出现下划线, 且节点的文字变颜色。这个CSS在哪里啊?怎么写的?


  回复  引用  查看    
#10楼  2007-07-11 12:13 | wfx [未注册用户]
陈老师,我刚才试了一下,页面是一个textbox,后台是txt文件时并且输入的内容是英文状态下,才可以从txt文件中提取英文单词。

一个textbox:
后台改为数据库并且要提取的内容变为汉字时就出现了,这个问题。即:不执行.asmx文件,在执行时就不会出现自动完成功能。当我执行.asmx文件后出现自动完成提示内容 不合所输入的内容相符,与执行.asmx文件用于测试数据提示的内容相同。
二个textbox:
在一个textbox出现的问题基础之上又出现一个问题是,textbox2不会触发自动完成功能

  回复  引用    
#11楼  2007-07-11 13:02 | wfx [未注册用户]
我添加了两个textbox

<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
&nbsp; &nbsp;&nbsp;&nbsp;
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:Label ID="Label1" runat="server" Text="出发地" Width="55px"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server" Width="134px" AutoPostBack="True" ></asp:TextBox><br />
<asp:Label ID="Label2" runat="server" Text="目的地" Width="56px"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server" Width="134px" AutoPostBack="True"></asp:TextBox>&nbsp;
<br />
<br />
<ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1" ServicePath="AutoCompleteDepartSevice.asmx" ServiceMethod="GetCompleteDepart1" CompletionSetCount="10" MinimumPrefixLength="1">
</ajaxToolkit:AutoCompleteExtender>
&nbsp;
<ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender2" runat="server" TargetControlID="TextBox2" ServicePath="AutoCompleteDepartSevice.asmx" ServiceMethod="GetCompleteDepart2" CompletionSetCount="10" MinimumPrefixLength="1">
</ajaxToolkit:AutoCompleteExtender>
</div>
</form>
</body>






  回复  引用    
#12楼  2007-07-11 13:04 | wfx [未注册用户]
谢谢您, 帮我看一下 ,我是不是哪里写错了??
  回复  引用    
#13楼 [楼主] 2007-07-11 13:05 | Dflying Chen      
@wfx
网站的编码是什么呢?改成UTF8试试看?
  回复  引用  查看    
#14楼 [楼主] 2007-07-11 13:07 | Dflying Chen      
@吴祝明
\App_Themes\YellowShades\yellowshades.css
  回复  引用  查看    
#15楼  2007-07-12 08:45 | 烙饼      
@Jeffrey Zhao
@Dflying Chen

首先感谢二位对我的帮助! (以下 AJAX 均表示 AJAX ASP.NET)
我现在很苦恼的就是不知道怎样让 AJAX 和 ASP.NET 2.0 的开发方式很好的结合起来开发全新的程序, 感觉很多以前 ASP.NET 2.0 的概念在AJAX上都失效了, 更感觉到MS是在搬石砸自己的脚!
1. 比如主题这个东西, 既然要用 AJAX 就应该写标准的 HTML 控件而非服务器端控件, 使用 AJAX 提供的客户端脚本去操作这些标准的 HTML 控件, 那么我的主题在何处应用呢?
2. 到底是应该用一个客户端控件触发 WebService 或者 PageMethod 呢? 还是注册一个异步传出的服务器端控件去执行事件呢? 而 WebService 或者 PageMethod 中又怎么样很好的保存 Session 呢 (我已经在 WebService 的方法中发现了可以保存 Session 的方法, 但又不能保存用户身份标识了~ )?

以上的问题可能显得不专业, 但确实是我在开发中很苦恼的问题, 感觉服务器端控件与客户端控件很难取舍. 希望二位给出点经验之谈~ 再次感谢~~
  回复  引用  查看    
#16楼  2007-07-12 13:55 | 包建强      
老陈,请教个问题哦!
我用Ajax.NET开发了一个聊天室,用到了UpdatePanel和Timer,但是却遇到了一个很严重的Bug。
流程是,我在TextBox中输入文字,按Button提交到Server;另一方面是Time定时刷新UpdatePanel中的MessageLabel,将Server端的最新信息获取到Client端。——以上逻辑均已实现。
问题是,页面不停的刷新,0.01秒一次,于是导致了我的TextBox不能获取焦点,即使是鼠标定位到输入框TextBox,也会因局部刷新而丢失焦点。以至于用户不能输入任何东西。
我试着在Timer事件中手动定位焦点,但是不起丝毫作用。
怎么办呢?

  回复  引用  查看    
#17楼 [楼主] 2007-07-12 14:44 | Dflying Chen      
@烙饼
这确实是一个问题,总归要具体问题具体分析了。
如果是简单地添加一点点Ajax功能,那么就是用纯粹的服务器段部分也就够了。
如果是想编写一个完善的Ajax程序,那么ASP.NET这一套东西可能根本用不上,所有的一切都要在客户端自己实现了。当然MS AJAX也提供了一定的辅助
  回复  引用  查看    
#18楼 [楼主] 2007-07-12 14:45 | Dflying Chen      
@包建强
0.01秒一次刷新也太快了吧…………
  回复  引用  查看    
#19楼  2007-07-12 14:50 | 包建强 [未注册用户]
0.01秒刷新,只是对Server端Application进行读取操作,Application中数据量到1000后才会存进数据库,所以性能还好啦。关键是textbox焦点定位的问题,这个是主要矛盾!
  回复  引用    
#20楼 [楼主] 2007-07-12 15:00 | Dflying Chen      
@包建强
网络传输性能……这样的话程序部署了以后根本没法用啊,多个用户,每个人的网络状况……服务器的性能……3秒一次都嫌快呢。0.01太夸张了
  回复  引用  查看    
#21楼  2007-07-12 15:02 | 彬彬 [未注册用户]
点击按钮有时正常有时会出现The control 'XXX control' alreadyhas a data item registered.参数名:control的错误,后头信息也变成了Content-Type: text/html; charset=utf-8,本来应该是Content-Type: text/plain; charset=utf-8才对?
  回复  引用    
#22楼 [楼主] 2007-07-12 15:03 | Dflying Chen      
#23楼  2007-07-12 15:13 | 包建强 [未注册用户]
老陈,刷新速度问题以后再讨论啦。
我们先解决一下目前的Bug,好么?
  回复  引用    
#24楼 [楼主] 2007-07-12 15:16 | Dflying Chen      
@包建强
不要把TextBox放在UpdatePanel中就好了
  回复  引用  查看    
#25楼  2007-07-12 15:21 | 包建强 [未注册用户]
老陈,很想和你交个朋友。
我的MSN:bjq_ren@hotmail.com
你要是不怕我烦你,就加我啦。
我最近在闷头研究SharpDevelop源码。
  回复  引用    
#26楼  2007-07-12 15:26 | 包建强 [未注册用户]
可以了,你说得对,我多画了一个UpdatePanel,在里面放了TextBox。
还有一个问题,我按下提交Button,只是想把输入数据传到Server,并不想刷新页面,也不想局部更新页面内容,你说我怎么处理好呢?

我想把这套聊天室源码Share给大家,如果你觉得好,可以放到你的书中,给大家做Sample。
  回复  引用    
#27楼 [楼主] 2007-07-12 16:02 | Dflying Chen      
@包建强
如果有需要您的源代码,我会和您联系的,谢谢热心!
  回复  引用  查看    
#28楼 [楼主] 2007-07-12 16:02 | Dflying Chen      
@包建强
谢谢支持!
如果只是想传到Server,那么只要用Web Service就可以了,清参考:http://www.cnblogs.com/dflying/archive/2007/06/05/771471.html
  回复  引用  查看    
#29楼  2007-07-12 16:08 | 包建强 [未注册用户]
对!
那就有另外的问题了!
首先,TextBox不在UpdatePanel中了,这样,每次写Meesage,按提交按钮,TextBox中数据不会清空。

还有,离开聊天室的问题,IE7下是多页面的,如果强制关闭浏览器,而当前IE下多于一个页面,则IE7会提示“是否要关闭所有页面”。选择“Yes”就没有问题了;一旦选择“NO”,则页面不会关闭,但是用户却退出聊天室了。

  回复  引用    
#30楼 [楼主] 2007-07-12 23:14 | Dflying Chen      
@包建强
清空TextBox很简单,只要客户端脚本就可以了。
IE7我没用过……也不知道怎么办
  回复  引用  查看    
#31楼  2007-07-12 23:21 | 包建强 [未注册用户]
清空textbox我已经在下班前实现——加了一个hiddenfield作为中转。为了能输入完按回车也可以提交,我准备用client调用webservice。

那么只剩下强制关闭还没用解决了,ie6我已经实现:判断e.x与e.y;但是ie7和firefox无解。
  回复  引用    
#32楼  2007-07-13 14:53 | Anthan      
我在一个UpdatePanel中使用服务器端来操纵一个DIV的显示与否,DIV里面有数据加载和绑定的内容。
在我本机是没问题,但是放到服务器上以后点击几次按钮显示DIV以后IE就好像死了一样,点什么都没有反应,请问你遇到过这问题吗?
  回复  引用  查看    
#33楼 [楼主] 2007-07-13 19:36 | Dflying Chen      
@包建强
ie7的问题我也不太清楚,不好意思
  回复  引用  查看    
#34楼 [楼主] 2007-07-13 19:37 | Dflying Chen      
@Anthan
给出一段示例代码吧
  回复  引用  查看    
#35楼  2007-07-15 21:58 | Leechzhao3@hotmail.com [未注册用户]
当一个GridView放在UpdatePanel中,并且GV的模板列里有验证控件时。Ajax会向页面注册一个JS,并且该JS的内容与原2.0的验证控件的Validation.js文件的内容是一样的。只是在最后多了一句if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();

我想了解这个JS文件是何时、哪种情况、哪个方法(事件)下注册进了页面,有没有办法阻止Ajax向页面注册这个JS文件。
  回复  引用    
#36楼 [楼主] 2007-07-16 13:47 | Dflying Chen      
@Leechzhao3@hotmail.com
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded(); 这句话是用来通知ASP.NET AJAX客户端框架该脚本已经加载完毕。
您的问题我没看懂,能详细一些么?
  回复  引用  查看    
#37楼  2007-07-16 14:06 | leechzhao3@Hotmail [未注册用户]
@Dflying Chen
这个问题源于自己写的一个自定义验证控件。与Asp.net 中的BaseValidator一样,它也是通过向页面注册一个Page_Validates 数组,使用Page.ClientScript.RegisterExpandoAttribute(type,name,value)注册一组这个控件的属性,来实现验证,并且Page.ClientScript.IsOnSubmitStatementRegistered()
来改变页面上postback控件的提交事件来与2.0类似的分组、客户端验证。这个控件在放在UpdatePanel中的GridView中的EditItemTemplate中实就运行不正常。发现在点击GV的编辑按钮后,页面上并不实现Page.ClientScript.RegisterExpandoAttribute(type,name,value),
并且也不能实现Page.ClientScript.RegisterClientScriptResource()。
而这些事件原先是写在自定义控件中的OnPerRender()中。只要不是放UpdatePanel的数据控件中,它都能实现,向页面注册我的JS文件、注册一个ValidatorList[]、以及每个validator的ExpandoAttribute。
而试过其他的Vs验证控件,他们都能进行这些动作。
  回复  引用    
#38楼  2007-07-16 14:41 | 林_枫      
@Dflying Chen
请教一个ajaxControlextender问题 在div里面拖放一个AutoCompleteExtender进来 如果设置了div的position:absolute;属性,这个autoCompleteExtender下拉的内容会被div挡住 请问有没有好的解决办法
  回复  引用  查看    
#39楼  2007-07-17 20:52 | NiuXG [未注册用户]
《ASP.NET AJAX程序设计 第I卷》第4章 SimpleUpdatePanel.aspx中的UpdatePanel实例在IE7下提示错误,而在Opera下正常。

IE7(7.0.6000.16473)
Opera/9.21 (Windows NT 6.0; U; zh-cn)

Microsoft Visual Web Developer Codename Orcas V9.0.20404.0 Beta 1
Microsoft .NET Framework V2.0.50727
Microsoft ASP.NET 2.0 AJAX Extensions & ASP.NET Futures
Internet Information Services (Version 7.0.6000.16386)

错误提示:
行:1
Char:1
错误:缺少对象
代码:0
URL:……
  回复  引用    
#40楼 [楼主] 2007-07-17 22:18 | Dflying Chen      
@leechzhao3@Hotmail
在ASP.NET AJAX页面中,与客户段脚本相关的注册都应该使用ScriptManager的相关方法。使用Page.ClientScript往往都会出现错误。
你可以在控件代码中判断一下当前页面中是否有ScriptManager,如果有的话那么就使用ScriptManager注册,否则再使用Page.ClientScript。
  回复  引用  查看    
#41楼 [楼主] 2007-07-17 22:19 | Dflying Chen      
@林_枫
有没有办法不使用position:absolute;呢?这是最简单的方法了。否则就需要具体问题具体分析。
  回复  引用  查看    
#42楼 [楼主] 2007-07-17 22:20 | Dflying Chen      
@NiuXG
能否打开IE的调试功能,看看到底错误出现在什么地方呢?
还有,先清空IE的Cache看看
  回复  引用  查看    
#43楼  2007-07-18 12:24 | sEmilwei [未注册用户]
Dflying Chen
你好!
非常感谢你写的这本书!很受用!
最近开发了个项目用到AJAX 在开发过程中没有任何问题 所有功能也都已实现
可是发布到虚拟主机上之后问题就来了

页面加载完毕但是却老提示有错误
说'Sys'未定义;
后来发现发布到虚拟主机后根本就不会有ScriptResource.axd这类文件生成

服务器上我已让他安装了ASPAJAXExtSetup.msi 也都应用程序里引用了必要的DLL!
这是什么原因呢?
  回复  引用    
#44楼  2007-07-18 14:44 | gerdy      
Dflying,您好,我问几个问题,希望您帮忙解决下:
第1个问题:
关于asp.net ajax 的scriptmanager是用哪个版本?如果使用了toolkit,那么是不是只用toolkit的那个版本就行?
第2个问题:
关于div和css的问题:我做了3个div,然后分别是(一个float left) 一个默认,一个(float right),但是为什么右边那个div位置靠下边??
第3个问题:
var behavior = $find('ctl00_SampleContent_MyAccordion_AccordionExtender');//这个可以不用回答
第4个问题:
accordion的content 能否各使用一个数据源,或者使用同一个数据源但使用不同的sql查询语句?
第5个问题:
使用watermark后 应用了password格式的textbox无法正常显示watermark?
能不能改为singleline后,然后使用某种方法,将input里的数据隐藏为星号?
第6个问题:
slideShow能不能使用数据源?
第7个问题:
我用的sql server2005 然后用建表语句建了几个表,但是问题是这几个表都不能写入?还有保存中文是不是也用的是varchar?
第8个问题:
超链接和按钮的区别是不是主要在与事件与js里的方法....
第9个问题:
自定义表达式 只显示中文...
第10个问题:
网页分辨率是使用脚本来检测?还是直接用800*600或者有没有更好的方法?
  回复  引用  查看    
#45楼 [楼主] 2007-07-20 16:05 | Dflying Chen      
@sEmilwei
是web.config的配置问题么?ASP.NET AJAX的安装成功了么?
  回复  引用  查看    
#46楼 [楼主] 2007-07-20 16:10 | Dflying Chen      
@gerdy
1 是的,只要用Toolkit中的就够了。
2 应该是float left和float right的最先声明,然后是居中的。注意固定的宽度和适当的margin。
3 ??什么意思
4 可以手工在CS代码中做出一个类似数据源的集合类型。
5 恩,可以使用JavaScript来完成这个功能。
6 slideShow没有使用过,抱歉
7 检查你是否有写入的权限。存放中文应该使用nvarchar
8 ASP.NET中的HyperLink和LinkButton的区别就是这样的。
9 没看懂问题……
10 最好使用脚本检查,如果需要的话。若是固定在800 * 600,那么可能有些小了。
  回复  引用  查看    
#47楼  2007-07-20 16:22 | adosi [未注册用户]
按您在书上介绍使用CascadingDropDown之后,当WebService返回的记录较多的时候会提示Method error 500错误.数据不多时就正常.
修改了一下自带的例子当条数返回记录数达到1000-2000条是也报Method error 500,少于1000时便好用,CascadingDropDown接收返回值还有限制吗?还是哪个地方有问题?
  回复  引用    
#48楼 [楼主] 2007-07-20 22:51 | Dflying Chen      
@adosi
web.config中把<jsonSerialization maxJsonLength="500">设置的大一点
  回复  引用  查看    
#49楼  2007-07-21 23:59 | ROCK [未注册用户]
Expression Web可以安装Ajax框架吗?
  回复  引用    
#50楼 [楼主] 2007-07-22 15:08 | Dflying Chen      
@ROCK
没有遇到过,不好意思……
  回复  引用  查看    
#51楼  2007-07-23 16:16 | leechzhao [未注册用户]
我有一个控件,在UpdatePanel中动态加载。该控件加载的时候会向页面输出一句JS:" document.write('<iframe id=Date width="120" height="140" scrolling="no" style="position: absolute; ></iframe>'); " 就等于动态的打开了一个IFrame。原先在非无刷新状态下用window.frames.Date.document.all 能方访问到IFrame中的元素。现在加在了UpdatePanel 中时就无法访问。提示“window.frames.Date.document”无法找到。
  回复  引用    
#52楼  2007-07-24 16:48 | *黄毅*      
@Dflying Chen
@realyork
<ajaxToolkit:MaskedEditExtender
TargetControlID="TextBox2"
Mask="9999-99-99"

这个你实验过么?我这里不行。
这个看起来是对的,运行后,可以按照mask输入日期,但是失去焦点后,会有脚本错误,“length 为空或者不是对象”。然后再获得焦点后,刚才输入的内容就没有,失去焦点后可以再显示出来。

<ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender5" runat="server" TargetControlID="TextBox5" Mask="9999-99-99" MaskType="Date"/>
  回复  引用  查看    
#53楼 [楼主] 2007-07-24 17:42 | Dflying Chen      
@leechzhao
不要用document.write,在客户端使用domelem.innerHTML
  回复  引用  查看    
#54楼  2007-07-25 11:48 | ROCK [未注册用户]
UpdateProgress能控制窗体打开进度吗?也就是在页面没有打开完成时,窗体上只显示我指定的一个Image?
  回复  引用    
#55楼 [楼主] 2007-07-25 18:16 | Dflying Chen      
@ROCK
不可以,UpdateProgress不是用来做这个的
  回复  引用  查看    
#56楼  2007-07-26 08:50 | leechzhao [未注册用户]
@Dflying Chen

domelem.innerHTML

请问这个domelem是啥啊?JS好像没有吧?有相关资料么?提示一下
  回复  引用    
#57楼  2007-07-26 10:02 | King [未注册用户]
为什么我的程序在发布后提示Microsoft.Web.Configuration.MicrosoftWebSectionGroup
有错误呢?
请大侠帮忙!
  回复  引用    
#58楼  2007-07-26 11:40 | gooddeng [未注册用户]
发现一个ASP.NET AJAX的大BUG:
如果 webservice 方法中的参数的字符串长度超过300KB时,IE就会很慢,好象死循环了。
  回复  引用    
#59楼  2007-07-26 18:21 | 鱼蛋 [未注册用户]
Dflying Chen

我想自己写一个Asp.net Ajax的控件,但是找不到相关的参考资料,Dflying知道哪里有些么?
  回复  引用    
#60楼 [楼主] 2007-07-26 19:23 | Dflying Chen      
@leechzhao
不好意思,应该是DomElement.innerHTML,拼写错误……
  回复  引用  查看    
#61楼 [楼主] 2007-07-26 19:26 | Dflying Chen      
@King
你的Web.config文件中的声明是不是存在问题呢?特别是Microsoft.Web这一段中的
  回复  引用  查看    
#62楼 [楼主] 2007-07-26 19:27 | Dflying Chen      
@gooddeng
呵呵,这个应该是IE的bug了
  回复  引用  查看    
#63楼 [楼主] 2007-07-26 19:28 | Dflying Chen      
@鱼蛋
官方文档上面有一些:http://ajax.asp.net/docs/
  回复  引用  查看    
#64楼  2007-07-28 21:06 | gerdy      
Dflying,我想问下,asp.net ajax的xmlhttprequest这个还存在不??不知道怎么调用那个??或者只能使用webservice来完成所有的功能??

另外,好像做ajax的ascx控件,好像有些问题,有些ID无法被获取到,是不是应该改用服务器控件呀?
举例,我想通过控件上ddl的值来在webservice中调用不同的存储过程,这个能实现么??谢谢..
  回复  引用  查看    
#65楼 [楼主] 2007-07-28 22:47 | Dflying Chen      
@gerdy
客户端Sys.Net.WebRequest组件可以用来实现异步通讯,它是对XMLHttpRequest的封装。
有些ID无法被获取到,是什么意思呢?
  回复  引用  查看    
#66楼  2007-07-29 16:44 | 饕餮      
为什么我的
var prm = Sys.WebForms.PageRequestManager.getInstance();

取得的 prm 为 null? Sys.WebForms.PageRequestManager 都是有定义的
  回复  引用  查看    
#67楼  2007-07-29 21:16 | gerdy      
dflying,我想知道的是怎么让textbox的onchange调用服务器方法(事件)来改变textbox的属性值,能给举个例子么?还有,不知道第二卷什么时候可以出呢??我对那个$find等等参数都不懂呢..不知道跟dom的哪个函数差不多??
  回复  引用  查看    
#68楼  2007-07-30 21:30 | ROCK [未注册用户]
如果要检测一个Textbox中的内容是否是已存在的记录,应该怎么检测?或用Ajax哪个控件?
  回复  引用    
#69楼  2007-08-01 11:28 | carter [未注册用户]
Dflying Chen:你好,看了你的《ASP.NET AJAX程序设计 第一卷》,受益非浅。现在有个问题请教一下,我有个客户想要有 http://www.webwag.com 这个网站的效果,我用 webparts 和 magicAjax 实现了一下(webparts 在asp.net ajax 中有bug),始终不能获得满意的效果,如:webpart 拖放的时候旁边的控件没有避让的效果;而且反应较慢,影响了客户的体验。不知道你有没有针对http://www.webwag.com 这样的效果的解决方案。希望能提供我一些参考资料,谢谢了。e-mail:carter@corptool.com。
  回复  引用    
#70楼  2007-08-01 18:43 | hensome [未注册用户]
发布到服务器的ajax网站,服务器没有安装asp.net ajax组件,我已经把把其中System.Web.Extensions.Design.dll和System.Web.Extensions.dll两个文件拷贝到了网站BIN目录下,编译后发布到网站,网站的ajax页面都不能正常浏览,报错是sys未定义,请问有没有好的解决方案!谢谢!
  回复  引用    
#71楼 [楼主] 2007-08-02 12:00 | Dflying Chen      
@饕餮
在什么时机调用这个语句的呢?需要在Body部分才好
  回复  引用  查看    
#72楼 [楼主] 2007-08-02 12:01 | Dflying Chen      
@gerdy
onchange中可以调用一个服务器端方法,然后再回调函数中进行处理。
关于$find,在第二卷中都有详细介绍:)
  回复  引用  查看    
#73楼 [楼主] 2007-08-02 12:02 | Dflying Chen      
@ROCK
需要手工书写调用服务器端方法的代码,然后在服务器端进行判断
  回复  引用  查看    
#74楼 [楼主] 2007-08-02 12:03 | Dflying Chen      
@carter
拖放功能的实现,最好还是用WebPart了,不过现在支持还不是很好。在第二卷中有专门一章给出了几种方案。
  回复  引用  查看    
#75楼 [楼主] 2007-08-02 12:04 | Dflying Chen      
@hensome
能不能在客户端调试一下,估计是客户端脚本没有下载过来
  回复  引用  查看    
#76楼  2007-08-02 12:35 | 饕餮 [未注册用户]
Dflying Chen 您好,关于那个
var prm = Sys.WebForms.PageRequestManager.getInstance();
获得的prm 为空的问题是这样的:
var prm = Sys.WebForms.PageRequestManager.getInstance();
是我写在 js 文件里面的,并且在这之前已经加上了 Sys 是否加载的判断, 并且在ScriptManager 中引用了那个 js, 还有就是那个代码在 Vs2008中是正常的,但是在 VS2005 + Asp.Net Ajax 中就出现了获得的 prm 为空的问题... 是不是 Ajax 没有配置好?
  回复  引用    
#77楼  2007-08-02 14:49 | hensome [未注册用户]
添加引用,就可以了,郁闷的问题!
  回复  引用    
#78楼  2007-08-02 16:42 | carter [未注册用户]
@Dflying Chen
第二卷什么时候出版啊??急切等待中哦......
  回复  引用    
#79楼  2007-08-03 09:35 | 大碗豆浆 [未注册用户]
陈老师你好,我是你的读者,我有两个问题想请教。

ASP.NET AJAX第一卷中关于UPDATAPANEL的一段说是只要放置在此控件中的服务器控件都能实现局部更新。为什么我在试验中放置了一个GRIDVIEW却不能自动更新呢?一定要点一下排序才会把新添加的记录放上来。
UPDATEPANEL的updatemodel是总是更新。

第二个问题,在此书第129页中配置profileService一段中提到要修改<profileSerice>标签,却没有说要放在什么地方。我试着放在System.web下却编译出错了。请问这一段代码要放置在地里呢?

谢谢!
  回复  引用    
#80楼 [楼主] 2007-08-03 20:07 | Dflying Chen      
@饕餮
将这句话
var prm = Sys.WebForms.PageRequestManager.getInstance();
放在pageLoad()方法中吧
  回复  引用  查看    
#81楼 [楼主] 2007-08-03 20:08 | Dflying Chen      
@carter
还在等封面呢,尽快吧,呵呵
  回复  引用  查看    
#82楼 [楼主] 2007-08-03 20:08 | Dflying Chen      
@hensome
:)解决了就好
  回复  引用  查看    
#83楼 [楼主] 2007-08-03 20:10 | Dflying Chen      
@大碗豆浆
能发出你的UpdatePanel相关代码么?
有关profileService的位置,在配置的一章中有详细介绍的,应该放在:
<system.web.extensions>

<scripting>

<webServices>

<authenticationService enabled="true" requireSSL = "false"/>

<profileService enabled="true" />

<roleService enabled="true"/>

</webServices>

<scri