2012-02-04 60 views
0

我發現真的很棒的拾色器jscolor.com用來代替AJAX Toolkit提供的那個。安裝實際上是小菜一碟,但現在我有AsyncPostback的麻煩。 每當任何控制確實AsyncPostback我的ColorPicker停止工作,這裏是代碼:JsColor在AsyncPostBack後丟失實例

<asp:TextBox ID="TextColorSample" runat="server" Width="30px"></asp:TextBox> 
            <asp:TextBox ID="TextColor" runat="server" OnTextChanged="TextColor_TextChanged"></asp:TextBox> 
            <input type="button" class="color {valueElement:'TextColor',styleElement:'TextColorSample',hash:true,required:false}" /> 

所以回傳後,沒事的時候我按下按鈕(選擇器應該彈出)和TextColorSample失去選擇器回發之前設置背景顏色發生了。任何人都可以向我解釋可能發生的事情以及如何解決它?

+0

經過一些更多的挖掘,我發現一個重複:http://stackoverflow.com/questions/1952817/asp-net-javascript-inside-ajax-updatepanel – formatc 2012-02-04 17:17:01

+0

請不要在你的標題前加上「ASP.NET C#」。這就是標籤的用途。 – 2012-02-04 17:38:20

+0

@ John謝謝你指點我,我看到很多人這樣做,所以我認爲這是標籤格式化的正確方法。 – formatc 2012-02-04 19:57:11

回答

0

你能試試嗎?這幫助了我。

<script> 
$(document).on('click', '#myPickerId', function() { 
    var obj = $(this)[0]; 
    if (!obj.hasPicker) { 
     var picker = new jscolor.color(obj, {}); // 
     obj.hasPicker = true; 
     picker.showPicker(); 
    } 
});  
</script> 

在我的情況下,機械手控制是動態的,因爲它是內部Knockout.js「與」隱藏了,並重新創建選擇器時,它需要聲明。

0

這使用輸入控件重新初始化/重新綁定顏色樁。

jscolor.init(); 

ajax調用成功後調用它。