Sie können HTML-Literale nicht in ASP-Steuereigenschaften ausgeben. Sie können entweder die Eigenschaft NavigateUrl des Hyperlinks in Codebehind festlegen oder den HTML-Anker als Literal ausgeben.
Ausgabe als wörtliche (in diesem Fall Ihre Code-Behind-Klasse muss eine aussetzen geschützt oder öffentliches Eigentum oder Feld mit dem Namen UrlParams)
// site.aspx
<a href="<%="http://google.pl" + UrlParams.Google%>">test</a>
Set in Code-Behind:
// site.aspx
<asp:HyperLink runat="server" ID="link1">test</asp:HyperLink>
// site.aspx.cs or <script runat="server">..</script>
protected void Page_Load(..) {
link1.NavigateUrl = "http://google.pl" + UrlParams.Google;
}
Und die Antwort auf Ihre ursprüngliche Frage. Die <#
ist eine data-binding expression, die eine Bindung zwischen einer Serversteuerungseigenschaft und einer Datenquelle erstellt.
EDIT: Wie sich herausstellt, können Sie tatsächlich die <#
Syntax mit Zeichenfolgen auch verwenden. Der Schlüssel dafür ist, die Control.DataBind() Methode aufzurufen. Sie können es auf dem HyperLink-Steuerelement oder sogar auf der aktuellen Seite aufrufen, da Page von Control erbt.
Beispiel: (fügen Sie dies in einer leeren aspx Seite - keine Datenquellen erforderlich):
<asp:HyperLink ID="link1" runat="server" NavigateUrl='<%# "#Test" %>'>Test</asp:HyperLink>
<script runat="server" type="text/C#">
protected override void OnLoad(EventArgs e)
{
DataBind();
// or:
// link1.DataBind();
base.OnLoad(e);
}
</script>
Wenn ich '<% =' verwende gibt es folgenden Code in der Ausgabe: '">test' – hsz
Ich habe noch nie versucht, dieses Tag in einer NavigateUrl-Eigenschaft zu verwenden (ich wollte damit nicht implizieren, dass Sie das verwenden sollten) Tag, und ich werde die Antwort in Kürze bearbeiten, um dies zu verdeutlichen), aber Sie müssen die ASP.NET-Tags nicht erneut verwenden, um Ihrer NavigateUrl-Eigenschaft ein Zeichenfolgenliteral zuzuweisen. – jwiscarson
Ja, ich weiß, aber ich möchte diese Adresse zum Beispiel von einer Klasse erhalten: UrlParams.Google. Ich möchte dann tun: 'NavigateUrl = '<% =" http://google.pl "+ UrlParams.Google%>'' aber es funktioniert nicht. – hsz