2007/02/06

Masterpage和CallBack使用上的小問題

最近在開始玩callback的機制

用.NET裡面的Page.ClientScript.Register***

的方式來產生前端的JavaScript

但是在使用 物件名稱.clientID 去產生JacaScript時

EX: 物件名稱為 Table1

由於ContentPage被包在MasterPage裡面

所以控制項在JavaScript裡面的名稱會變成 EX: ctl00_ContentPlaceHolder1_Table1

一開始的時候,因為HTML是由後端Render產生

所以不論是JavaScript或是網頁上的物件ID都會是 ctl00_ContentPlaceHolder1_Table1

自然Javascript抓得到,不會出錯;

但是當callback,把前端網頁修改之後

又把只動態產生的物件命名成 Table1

當callback替換掉網頁上的資訊後

前端的這個物件ID就不是叫做 ctl00_ContentPlaceHolder1_Table1

而會只是叫做 Table1

這時候 原本的Javascript就會因為抓不到物件而產生錯誤~~~

所以在MasterPage宇CallBack相互使用的時候,

就要留意此情況的發生,而造成錯誤....

標籤:

0 Comments:

張貼留言

<< Home