2012年6月11日 星期一

__dopostback 套 masterpage 不work

上週請同事教我用colorbox , 想要做的事情很簡單.
跳出一個視窗, 讓使用者選擇個選項後. 就依使用者選的選項.來做導頁的動作.

很簡單的事, 就碰上的莫非
用了一個linkbutton , 後端cs  寫導頁.
colorbox closed 的事件 , function 是呼叫postback 事件.





id="ctl00_ContentPlaceHolder1_LinkButton1" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$LinkButton1','')"





因為知道有套Master page , 也知道Browser 會編過id,
我們也把呼叫物件的[LinkButton1]改成了[ctl00_ContentPlaceHolder1_LinkButton1]
 
誰知道Browser把呼叫的doPostBack 物件名稱 改為'ctl00$ContentPlaceHolder1$LinkButton1'
 
把function 中的呼叫名稱. 改為'ctl00$ContentPlaceHolder1$LinkButton1' 就可以了.(泣)
 
前端呼叫colorbox function如下:
function DoNew(link, ht) {


$.colorbox(

{ href: link,

iframe: true,

width: "80%",

height: "80%",

transition: "none",

opacity: "0.5",

width: "500px", height: ht,

innerWidth: "500px",

//onClosed: function () { location.reload(true); },

onClosed: function () { __doPostBack('ctl00$ContentPlaceHolder1$LinkButton1', ''); },

overlayClose: false

});

}
這Bug花了我二天時間. 一定要寫一下記下來!