2013-07-25 3 views
0

У меня есть Gridview, у которого есть Hyperlinkfield. Когда это поле щелкнуто, я хочу, чтобы причудливый ящик был открыт, и в этом причудливом поле я хочу, чтобы iframe отображал страницу, которая является гиперссылкой должен быть открыт.Откройте fancybox при щелчке гиперссылки gridview.

Мои Gridview является:

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False"DataKeyNames="SrNumber" 
        OnRowDataBound="GridView2_RowDataBound" 
        Width="100%" 
        ShowFooter="false" 
        EnableViewState="false" 
        AutoPostBack="true"> 
        <Columns> 
     <asp:HyperLinkField DataNavigateUrlFields="SrNumber" DataNavigateUrlFormatString="newpage.aspx?SrNumber={0}" DataTextField="Note" HeaderText=""/> 
        <asp:TemplateField HeaderText="Note" SortExpression="Note"> 
        <ItemTemplate> 
         <a id="ahrefclick" class="forPopup" href="newpage.aspx?SrNumber <%#Eval("SrNumber")%>"><%#Eval("Note")%></a> 
        </ItemTemplate> 
        </asp:TemplateField> 
        </Columns> 
       </asp:GridView> 

В настоящее время Есть только два столбца, и оба на самом деле то же самое. hyperlinkfiled ведет меня на следующую страницу. И я waa пытаюсь добавить логику причудливого окна в gridview, используя поле Template.

Javascript код:

$("#ahrefclick").click(function (e) { 

     $(".forPopupGrid").fancybox({ 
      'titlePosition': 'inside', 
      'transitionIn': 'elastic', 
      'transitionOut': 'none' 
     }); 
    }); 

Я до сих пор не получаю поп up.I новичок в помощь fancybox.Please!

спасибо!

Edit: мое JQuery и FancyBox ссылка:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <script src="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.js" type="text/javascript"></script> 

    <link href="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.css" rel="stylesheet" 
     type="text/css" /> 

ответ

0

Попробуйте настроить таргетинг на классе фактической ссылки как этот

$(".forPopup").fancybox({ 
    'titlePosition': 'inside', 
    'transitionIn': 'elastic', 
    'transitionOut': 'none', 
    'type': 'iframe' //<-- if opening external pages 
}); 

... вы на самом деле не нужны click() (fancybox будет запущен после того, как селектор привязан к нему)

+0

Я изменил код в соответствии с вашим su ggestion по-прежнему открывается страница в новом окне, и всплывающее окно не отображается! – LearningToCode

+0

убедитесь, что ваш путь к jQuery, а также fancybox js и css-файл верны (и не возвращают ошибку 404) ... или обмениваются ссылкой, чтобы сделать ее быстрее;) – JFK

+0

Я только что редактировал свой вопрос и добавил все ссылки к JQuery и fancybox. Можете ли вы проверить и сказать мне, если это достаточно и правильно? – LearningToCode

Смежные вопросы