我有一个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