2016-05-04 2 views
0

Ich habe gesucht und habe dieses genaue Problem noch nicht gefunden. Ich versuche, einen Hyperlink in einem Bootstrap-Popover zu platzieren. Wenn es nur eine statische Verbindung wäre, sehe ich, wie das geht. Dies ist jedoch eine serverseitige Verknüpfungsschaltfläche. Unten ist, was ich versuche zu erreichen. Natürlich kann ich kein ASP-Steuerelement in einem anderen Steuerelement verwenden. Gibt es eine Möglichkeit, den Link in Codebehind zu erstellen und in das Asp: Image zu übertragen oder gibt es eine Möglichkeit, den Linkbutton in ein verstecktes Div einzufügen und diesen als Dateninhalt des Popovers zu verwenden?Verwenden eines asp: LinkButton in einem asp: Bild

<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." /> 

Versuch 1:

ich dies versuchen und wie alle Proben da draußen zeigen, sollte es funktionieren:

 $(".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> 

Die Warnung zeigt an, dass ich den Inhalt des Div korrekt erhalte. Aber aus irgendeinem Grund, obwohl ich es dem Inhalt zugebe, taucht es nie auf.

Antwort

0

Sie müssen den Link denken seine statische und rufen Sie einige Code hinter Code, der stattdessen bestimmen, was die URL ist.

z.

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

Sie haben Recht; Sie können LinkButton nicht innerhalb von Dateninhalten platzieren. Sie können LinkButtons Click Event jedoch manuell auslösen. Es ist eine Art Hack.

Beispiel,

<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

Scheint, wie das funktionieren sollte, aber egal, wo ich das postHistoryForm Skript setzen, bekomme ich postHistoryForm undefiniert ist, wenn ich auf den Link klicken. –

+0

Wird die Funktion postHistoryForm angezeigt, wenn Sie die Quelle im Browser anzeigen? – Win

+0

tue ich. Ich kann die Funktion sehen. Versucht, es direkt vor dem Bild und Linkbutton, direkt danach, sogar am oberen Rand der Seite. Hat keinen Sinn, warum es nicht scheint, es zu finden. –

0

Ok, ich erscheinen eine funktionierende Lösung zu haben. Ich glaube, ich hatte ein Problem mit dem Popup, das zweimal erstellt oder initialisiert wurde. Ich habe das data-toggle = "popover" für dieses spezifische Element entfernt, da ich es separat angehängt habe. Ich kann dann meinen HTML-Code in ein verstecktes div einfügen.

 $('.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>