我有一個jQuery重的ASP.net頁面。在asp.net中的async ajax更新後加載jquery
這個頁面我有一個gridview內updatepanel,所以我可以做一個異步更新。
<asp:GridView ID="gvMail" runat="server" GridLines="None"
AutoGenerateColumns="false" Width="100%" OnRowDataBound="mail_RowDataBound"
CssClass="gridview" DataKeyNames="id">
<HeaderStyle HorizontalAlign="Left" />
<RowStyle ForeColor="#0072BC" HorizontalAlign="Left" CssClass="draggable" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<!-- Hidden Link button for Async call back -->
<asp:UpdatePanel ID="updatePanel2" runat="server">
<ContentTemplate>
<asp:LinkButton ID="btnLoadData" onclick="btnLoadData_Click" runat="server"
Text="Fill GridView" CssClass="none"></asp:LinkButton> <!-- hidden-->
<a href="javascript: AsyncUpdateGridView()">A sync update</a>
<!-- testing purposes only-->
</ContentTemplate>
</asp:UpdatePanel>
所以用這個小黑客我點擊興田LinkButton的更新工作正常GridView的。最終,僅調用隱藏鏈接按鈕的_dopostback方法的AsyncUpdateGridView()將使用Javascript。
我的問題是,我的GridView有列是Jquery DatePickers和Jquery花式下拉框。它們都含有此javascript調用:
function OnLoadPage() {
$(".jqueryselector").selectbox({
effect: "fade"
});
$(".jquerydatepicker").datepicker({ dateFormat: 'dd-mm-yy' });
}
$(document).ready(function() {
OnLoadPage();
}
我之所以作出OnLoadPage()函數是因爲我打過電話後,我做了更新後的_doPostBack通話。
但是這並不奏效。所以現在當頁面加載時,所有的jQuery的日期選擇器,下拉框和我在GridView中工作的其他奇特的東西。但在異步回調後,它會重新加載所有默認的HTML。
您是否嘗試過在你的代碼調用[ScriptManager.RegisterStartupScript方法](http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerstartupscript.aspx)落後時發佈帖子會重新發布您的** OnLoadPage **函數? – 2012-08-15 01:28:06