Ich schreibe ein asp.net-Benutzersteuerelement. Es hat eine Eigenschaft, eine weitere LesePage und zwei daran gebundene Steuerelemente: ObjectDataSource und einen Repeater. Innerhalb des Repeaters möchte ich einen Hyperlink mit einer href-Eigenschaft anzeigen, die auf etwas wie FurtherReadingPage + "?id=" + Eval("Id")
eingestellt ist. Ich weiß nicht, wie ich es im Markup der Seite machen soll. Ich kann <% Eval("Id") %>
oder <% Response.Write(FurtherReadingPage + "?id=") %>
alleine benutzen, aber ich weiß nicht, wie man sie mischt.
Sie haben ein paar verschiedene Tags:
<%
führt den Code innerhalb von:
<%=
schreibt den Code innerhalb von:
Beide Teile brechen den normalen Fluss auf, wenn sie auf einer Seite gerendert werden. Wenn du sie zum Beispiel in einem normalen Asp.net <head runat="server">
verwendest, bekommst du Probleme.
<%#
Datenbindung:
Damit können Sie die Bindungen für Steuerelemente angeben, die Asp.net WebForms als Sammlung rendern (anstelle der Literalsteuerelemente, für die Sie <%=
verwenden können), zum Beispiel:
Für Ihren speziellen Fall haben Sie entweder:
<%# Eval(...) %>
mit repeater.DataBind();
oder
<% foreach(... %>
) mit <%= ... %>