AJAX與ListView的怪現象? --樣版內,控制項ID重複的問題

ListView裡面如果加上AJAX功能,在 Item 與 AlternatingItem這兩個樣版(Template)內部,
各自加上 UpdatePanel。
執行時,會出現錯誤訊息。說 [控制項ID重複?]

如何解決呢?

這個問題也是我在MSDN論壇回答過的。http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=3125960&SiteID=14

 

Q :ListView裡面的各種樣版,以 ItemTemplate 與 AlternatingItemTemplate這兩個樣版最類似。

如果加上AJAX功能,在這兩個樣版內部,各自加上 UpdatePanel。

很奇怪的是----執行時,會出現錯誤訊息。說 [控制項ID重複?]

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

 

重新看了 ListView與SqlDataSource,自動幫我產生的樣版內容(HTML碼)。

沒錯。<ItemTemplate>與<AlternatingItemTemplate>,這兩個樣版的內容一模一樣啊

不光如此,ListView的各種樣版,裡面各種的 TextBox,ID都是一樣的

為何不會有錯?但加上AJAX的UpdatePanel就會出錯呢?

 

 

2009/11/27補充:   

關於本文,我撰寫了另外一個範例,請看:

[範例]AJAX與ListView的怪現象?#2 --各個樣版內,搭配專屬的 UpdatePanle,可行嗎?

 

 

 

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

 以下是廣告----

 

題名:   ASP.NET專題實務 

[廣告&團購] 新書上市-- ASP.NET專題實務(文魁出版)

本書目錄:http://www.kingsinfo.com.tw/item_detail.asp?pro_id=7085 

ISBN: 978-986-204-238-0 

著者: 周棟祥博士, 吳進魯

MIS2000 Lab. 編著 

 

審稿教授:南台科大 吳盛博士

出版者: 文魁資訊 http://www.kingsinfo.com.tw出版時間: 2008.07 
版次: 初版 裝訂: 平裝附光碟片 
分類號: 312.1695 標題: 網頁設計 , 全球資訊網 

 

 

 

A : 這問題很有趣,所以我也自己測試了一下。

手動去修改 ListView裡面,每個樣版內的 [控制項ID],不要重複就好了。我試過,可以正常執行

我個人的認知如下,未必正確。

       傳統POSTBACK的作法,一次只會啟動一個樣版,

       所以 ListView各種樣版底下的控制項ID,就算重複也無所謂。

       但改成AJAX之後,這時候,每一個控制項ID都必須獨一無二,

       不然的話,要怎麼知道是哪一個控制項啟動了非同步的POSTBACK?

 我覺得這說法,好像說得通

 

 

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

今天又看見它上了最常查詢問題的排行榜。

所以收錄回自己的BLOG裡面。這個範例,我也有收錄在自己寫的書裡面。

 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程教學,遠距教學 (Web Form 約 51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程教學,遠距教學 (ASP.NET MVC 約 140hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.tw  或  school (at) mis2000lab.net

 (1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A 

 (2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I 

[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm  。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b  


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

.........   facebook社團   https://www.facebook.com/mis2000lab   ......................

.........  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)。

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

ASP.NET MVC  => .NET Core MVC 線上教學  ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講   事先錄好的影片,並非上課側錄!   觀看時,有如「一對一」面對面講課