У меня проблема с панелью обновлений, сеткой внутри нее и гиперссылкой, которая позволяет пользователю открывать строку за строкой новый fancybox.
Это сценарий:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="grdDailyClosing" runat="server"
AutoGenerateColumns="false"
CssClass="data" GridLines="None" onrowcreated="grdDailyClosing_RowCreated"
onrowdatabound="grdDailyClosing_RowDataBound"
AlternatingRowStyle-CssClass="alt" onrowcommand="grdDailyClosing_RowCommand"
DataKeyNames="Date,LocationId">
<Columns>
...
...
<asp:TemplateField ItemStyle-CssClass="col12" HeaderStyle-CssClass="col12">
<ItemTemplate>
<asp:ImageButton ID="imgDetails" runat="server" ImageUrl="/Images/search_48.png" Width="16px" Height="16px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
Тогда
protected void grdDailyClosing_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "SHOW_ERRORS")
{
Session[ERROR_ROWS] = e.CommandArgument.ToString();
litJqueryInjection.Text = "<script>jQuery(document).ready(function() {$(\"#" + hlkHidden.ClientID + "\").trigger('click');});</script>";
}
}
и в гиперссылке hlkHidden есть определение URL, открываемого через Fancybox, и класс cssclass, который позволяет главной странице понять, что следует открыть новый fancybox.
<asp:HyperLink ID="hlkHidden" runat="server" CssClass="extLink" style="display:none;"></asp:HyperLink>
<asp:Literal EnableViewState="false" ID="litJqueryInjection" runat="server"></asp:Literal>
Это объявление fancybox:
$(".extLink").fancybox({
'width': '100%',
'height': '60%',
'autoScale': false,
'transitionIn': 'none',
'transitionOut': 'none',
'type': 'iframe',
'hideOnOverlayClick': false
});
Пока версия jquery 1.6.2
Проблема в том, что ничего не происходит, когда я пытаюсь нажать на кнопку ImageButton в сетке, и я не получаю никакой ошибки JS. Панель обновления была вставлена из-за разбивки на страницы сетки; без него все работает нормально.
Любое предложение или идеи о том, как решить эту проблему?
большое спасибо заранее.
Привет.