Откройте fancybox в панели обновления AJAX - PullRequest
0 голосов
/ 29 марта 2012

У меня проблема с панелью обновлений, сеткой внутри нее и гиперссылкой, которая позволяет пользователю открывать строку за строкой новый 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. Панель обновления была вставлена ​​из-за разбивки на страницы сетки; без него все работает нормально.

Любое предложение или идеи о том, как решить эту проблему?

большое спасибо заранее. Привет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...