MIS2000 Lab. -- ASP.NET学习&分享 / ASP.NET案例精编(清华大学出版社)
您好,我来自台湾。很高兴与各位分享一些成果。希望对您有帮助。出版书籍是「ASP.NET案例精编 / 清华大学出版社」。

AJAX与ListView的怪现象? --样版内,控件ID重复的问题

 http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/16/4015.aspx

 

 

 

 

这个问题也是我在MSDN论坛回答过的。http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=3125960&SiteID=14

 

Q :ListView里面的各种样版,以 ItemTemplate 与 AlternatingItemTemplate这两个样版最类似。

如果加上AJAX功能,在这两个样版内部,各自加上 UpdatePanel。

很奇怪的是----执行时,会出现错误讯息。说 [控件ID重复?]

取消AJAX的UpdatePanel之后,又好了?真的很奇怪!

 

重新看了 ListViewSqlDataSource,自动帮我产生的样版内容(HTML码)。

没错。<ItemTemplate>与<AlternatingItemTemplate>,这两个样版的内容一模一样啊

不光如此,ListView的各种样版,里面各种的 TextBox,ID都是一样的

为何不会有错?但加上AJAX的UpdatePanel就会出错呢?

 

 

2009/11/27补充:   

关于本文,我撰写了另外一个范例,请看:

[范例]AJAXListView的怪现象?#2--各个样版内,搭配专属的 UpdatePanle,可行吗?

 

 

 

...................................................................................................................................

 以下是广告----

ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

 

ASP.NET案例精编--适用于VS2005/2008

   

 

 

A : 这问题很有趣,所以我也自己测试了一下。

手动去修改 ListView里面,每个样版内的 [控件ID],不要重复就好了。

 我试过,可以正常执行


我个人的认知如下,未必正确。

       传统POSTBACK的作法,一次只会启动一个样版,

       所以 ListView各种样版底下的控件ID,就算重复也无所谓。

      但改成AJAX之后,这时候,每一个控件ID都必须独一无二,

       不然的话,要怎么知道是哪一个控件启动了异步的POSTBACK?

 

 我觉得这说法,好像说得通

 

 

以上问答,是我在MSDN回答过的问题。http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=3125960&SiteID=14

今天又看见它上了最常查询问题的排行榜。

所以收录回自己的BLOG里面。这个范例,我也有收录在自己写的书里面。

 

posted on 2010-10-18 17:59  MIS2000 Lab.  阅读(250)  评论(0)    收藏  举报


ASP.NET案例精编——适用于VS 2005/2008(配光盘)
 

当当网购买 http://product.dangdang.com/product.aspx?product_id=20583373&ref=search-1-pub