У меня есть стандартная галерея миниатюр с каруселью для просмотра миниатюр. У меня есть набор ссылок, при нажатии на которые загружаются миниатюры в карусель. В IE это работает потрясающе и безупречно. В Chrome, FF и Safari частичная обратная передача не распознается, и js не перезагружается при асинхронной обратной передаче, поскольку jquery на странице все не работает / не работает (то есть переключение не работает, события щелчка не запускаются для событий скрытия и т. д.)
РЕДАКТИРОВАТЬ: ** На стороне HTML есть 2 панели обновления, одна вложена в другую. Я добавил HTML-код, который может помочь. Я удалил большую часть содержимого страницы и просто покинул панели обновления и т. Д., Чтобы каждый мог понять html-сторону вещей.
HTML
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="updtPnlRedCarpet" runat="server">
<ContentTemplate>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="redCarpetCarousel">
<div class="redCarpet">
<asp:PlaceHolder ID="PlaceHolder1" runat="server" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
INSIDE CODE-BEHIND PAGE_LOAD EVENT
if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
{
RegisterClientStartupScript();
}
РЕГИСТРАЦИЯ КОДА ЗАПИСИ ЗАПУСКА КЛИЕНТА
private void RegisterClientStartupScript()
{
string path = Page.ResolveUrl("~/Scripts/jquery.msCarousel-min.js");
ScriptManager sManager = ScriptManager.GetCurrent(this.Page);
if (sManager != null && sManager.IsInAsyncPostBack)
{
ScriptManager.RegisterClientScriptInclude(
this.updtPnlRedCarpet, typeof(string), "include-js",
path);
ScriptManager.RegisterStartupScript(this.updtPnlRedCarpet, this.updtPnlRedCarpet.GetType(), "SliderScript",
"runTheCarousel();", true);
ScriptManager.RegisterStartupScript(this.updtPnlRedCarpet, this.updtPnlRedCarpet.GetType(), "ClickScript",
"loadThePage();", true);
}
else
{
this.Page.ClientScript.RegisterClientScriptInclude("SliderScript", path);
}
}