Problem mit Hyperlink im Repeater-Steuerelement
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li class="closed" >
<asp:HyperLink runat="server" CssClass="toggler off"
ImageUrl="/_layouts/images/NEXT.GIF"
Text="<%#Container.DataItem%>" ID="HyperLink1">
</asp:HyperLink>
</li>
</ItemTemplate>
</asp:Repeater>
Möchte ich, um den text in den hyperlink aus der arraylist
in meiner ascx-code
Ich versuche zu tun, das bt zeigt seine Fehler
HyperLink hypl = (HyperLink)Repeater1.FindControl("HyperLink1");
hypl.Text = ar.ToString();
hypl.NavigateUrl = "http//www.yahoo.com";
Jemand mit Ahnung, wie dieses problem zu beheben
- Vor allen Dingen, welche Ausnahme machen Sie ? Und Sie haben eine option zum ändern Sie Ihre datasource aus der arraylist zu list<T>
- Eigentlich ist es nicht zeigen keine Ausgabe.Nein, ich kann es nicht ändern von Arraylist zu list.Früher war ich mit <a href> in der ascx und war mit Repeater1.Datasource=ar; Repeater1.Databind(); also es war in Ordnung arbeiten....aber nun möchte ich verwenden <Asp:Hyperlink> aber seine nicht angezeigt output..ich bezweifle, ob, Wenn ich m macht Fehler beim schreiben von Text= " <%#Container.DataItem%> ...
- Aber wenn ich m mit dem gleichen ( Repeater1.Datasource=ar; Repeater1.Databind () bei asp:Hyperlink-ich bin immer diese Fehlermeldung Unable to cast object of type 'System.Web.UI.LiteralControl' to type 'System.Web.UI.DataBoundLiteralControl'
- Ich bin mir nicht sicher, ob Sie 're bewusst, aber wenn Sie beide die ImageUrl-und Text-Eigenschaften" auf die hyperlinks, die ImageUrl-Eigenschaft Vorrang, und der Text wird nicht verwendet/angezeigt werden. Du scheinst mit beiden...
- Ich habe entfernt die ImageUrl und ich m derzeit mit diesem... ar = RemoveDups(ar);//entfernen von Duplikaten // Repeater1.DataSource = ar; // Repeater1.DataBind(); HyperLink hypl = (HyperLink)Repeater1.FindControl("HyperLink1"); hypl.Text = ar.ToString(); hypl.NavigateUrl = "meri.com"; foreach (RepeaterItem rptrItem in Repeater1.Elemente) { ArrayList ar1 = new ArrayList(); .... .....
- aber das problem ist, wenn ich m nicht verbindlich mein repeater1, bevor es angezeigt wird die Objekt-Referenz nicht gefunden und wenn ich die Auskommentierung repeater1.datasource es zeigt problem, das ich oben angegeben literalControl man ..weiß nicht, wie Sie dabei Vorgehen...die Sache ist die, ich m mit RepeaterItem auch später......so zu binden, müssen repeater1 mit etwas..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit einer repeater-Steuerelement, Sie können nicht FindControl zu suchen, wird der hyperlink mit Namen, da kann es mehr als ein (dies ist eine Vorlage, und es gerendert wird 0 bis n mal).
Müssen Sie die Zuordnung von Werten zu den hyperlink, mehrere Male, einmal für jedes Element gebunden ist. Das ist ein job für den repeater das ItemDataBound-Ereignis. Probieren Sie etwas wie dieses:
Dann müssen Sie das Ereignis wie folgt behandeln: