2016-05-04 5 views
0

Я искал и не нашел эту точную проблему еще. Я пытаюсь разместить гиперссылку внутри Bootstrap Popover. Если бы это была просто статическая ссылка, я вижу, как это сделать. Однако это ссылка на серверную сторону. Ниже я пытаюсь это сделать. Очевидно, я не могу использовать элемент управления ASP внутри другого элемента управления. Есть ли способ создать ссылку в codebehind и перейти в asp: image или есть способ поместить ссылку в скрытый div и использовать это как содержимое данных popover?Использование asp: LinkButton внутри asp: Изображение

<asp:Image ID="disp_icon" runat="server" data-toggle="popover" 
    data-html="true" ImageUrl="~/images/ico_info.png" 
    ToolTip="Discipline" data-content="You may contact us 
    at 555.555.5555 or use the <asp:LinkButton ID="requestHistory_LinkButton" 
    runat="server" OnClick="showRequestHistoryForm_LinkButton_Click"> 
    history form</asp:LinkButton> to confirm the entire public record." /> 

Попытка 1:

Я пытаюсь это, и как все образцы там показать, он должен работать:

 $(".discipline_icon").popover({ 
      title: function() { 
       return $('.disciplineIconContent').html(); 
      }, 
      content: function() { 
       return $('.disciplineIconContent').html(); 
      } 
     }); 
     alert($('.disciplineIconContent').html()); 

...

<div class="disciplineIconContent" style="display:none;">You may contact the State Bar of Arizona at 602.340.7384 or use the <asp:LinkButton ID="requestHistory_LinkButton9" runat="server" CssClass="lawyerURL" OnClick="showRequestHistoryForm_LinkButton_Click" Font-Bold="True" Font-Underline="True">lawyer history form</asp:LinkButton> to confirm the lawyer's entire public record.</div> 

Предупреждение показывает, что я правильно получаю содержимое div. Но по какой-то причине, хотя я и назначаю его контенту, он никогда не появляется.

ответ

0

Вы должны дать ссылку подумать о ее статичности и вызвать код за кодом, который будет определять, что такое URL.

например.

<a href='<% GetLinkURL() %>'>History Form</a> 
0

Вы правы; вы не можете размещать LinkButton внутри содержимого данных. Однако вы можете запускать событие ClickButton Click Event вручную. Это своего рода хак.

Пример,

<asp:Image ID="disp_icon" runat="server" 
    data-html="true" 
    data-toggle="hover" 
    ImageUrl="~/images/ico_info.png" 
    ToolTip="Discipline" 
    data-content="You may contact us at 555.555.5555 or use the <a id='linkRequestHistory' onclick='postHistoryForm();'> history form</a> to confirm the entire public record." /> 

<asp:LinkButton ID="requestHistory_LinkButton" 
    runat="server" OnClick="showRequestHistoryForm_LinkButton_Click" CssClass="hidden"> 
</asp:LinkButton> 

<style type="text/css"> 
    .hidden { 
     display: none; 
    } 
</style> 

<script type="text/javascript"> 

    $("#<%= disp_icon.ClientID %>").popover(); 

    function postHistoryForm() { 
     __doPostBack("<%= requestHistory_LinkButton.ClientID %>", ""); 
    } 

</script> 
+0

Кажется, как это должно работать, но независимо от того, где я поставил скрипт postHistoryForm, я получаю postHistoryForm неопределен, когда я нажимаю ссылку. –

+0

Вы видите функцию postHistoryForm при просмотре источника внутри браузера? – Win

+0

я. Я вижу функцию. Попытался поместить его прямо перед изображением и ссылкой, сразу после, даже в верхней части страницы. Не имеет никакого смысла, почему он не может найти его. –

0

Хорошо, я, кажется, есть рабочий раствор. Я думаю, что у меня возникла проблема с созданием или инициализацией всплывающего окна дважды. Я удалил data-toggle = "popover" для этого конкретного элемента, так как я прикрепляю его отдельно. Затем я могу разместить свой HTML внутри скрытого div.

 $('.discipline_icon').popover({ 
      placement: "auto", 
      trigger: "hover click focus", 
      html: true, 
      title: "Discipline", 
      content: $(".disciplineIconContent").html() 
     }) 

. , ,

<div class="disciplineIconContent hidden"> 
    You may contact us at 555.555.5555 or use the 
    <asp:LinkButton ID="requestHistory_LinkButton" runat="server" 
     OnClick="showRequestHistoryForm_LinkButton_Click">history form</asp:LinkButton> 
    to confirm the entire public record.</div> 
Смежные вопросы