2017-05-28 1 views
0

Ich versuche, URL eines Asp-Hyperlink NavigateUrl innerhalb Repeater-Steuerelement zu ändern. Ich füllte heraus meine Repeater aus der Datenbank unter Verwendung von Code:Bearbeiten Sie Hyperlink in Repeater mit C#

in CS-

Datei
 SqlConnection con3 = new SqlConnection("my connection"); 
     string strcon = "select * from companydata"; 
     cmd = new SqlCommand(strcon, con3); 
     da = new SqlDataAdapter(cmd); 
     ds = new DataSet(); 
     da.Fill(ds, "company"); 
     Repeater1.DataSource = ds; 
     Repeater1.DataBind(); 
     con3.Close(); 
     con3.Dispose(); 

in ASPX-Datei <asp:Repeater ID="Repeater1" runat="server"><ItemTemplate> <asp:HyperLink ID="companyid" runat="server"><%#Eval("companyname") %></asp:HyperLink> //i need to add NavigateUrl for HyperLink using loop. </ItemTemplate></asp:Repeater>

Mein Ausgang (mit Repeater) suchen, wie dieses

  • Microsoft
  • Google
  • Yahoo
  • Facebook
  • Adobe

Jetzt füge ich einige zusätzliche Code NavigateUrl in Hyperlink innerhalb Repeater Steuer

foreach (RepeaterItem item in Repeater1.Items) 
     { 
      HyperLink hplink = item.FindControl("companyid") as HyperLink; 
      hplink.NavigateUrl = "https://www.example.com/company/"; 
     } 

Jetzt ist meine Frage zu füllen, wie HyperLink Text innerhalb NavigateUrl wie www.example hinzufügen .com/company/Microsoft oder www.example.com/company/Google, hier Microsoft und Google sind Link-Text. Vielen Dank im Voraus, Entschuldigung für mein schlechtes Englisch.

Antwort

0

Sie müssen nur den Text des Hyperlinks mit der NavigateUrl verketten:

foreach (RepeaterItem item in Repeater1.Items) 
    { 
     HyperLink hplink = item.FindControl("companyid") as HyperLink; 
     hplink.NavigateUrl = "https://www.example.com/company/" + hplink.Text; 
    } 
+0

ich hplink.Text bereits verwendet, aber es funktioniert nicht und das Rück gleicher Link www.example.com/company/ –

+0

einen Debug-Punkt Put at ** hplink.NavigateUrl ** und überprüfen Sie die Werte von hplink. Ich bin mir sicher, dass Sie den Grund dafür finden, dass Sie nicht arbeiten oder die Werte posten, die Sie sehen können, damit ich Ihnen helfen kann –