2 Stimmen

asp.net-code hinter einer eigenschaft in einen html-anker einfügen

Ich habe ein bestimmtes Element in einem Asp.net-Steuerelement:

<a href="#" title="" style="background-image: url('../i/foo/image.png')">

aber ich möchte das Hintergrundbild-Feld von einem Steuerelement c#-Eigenschaft festgelegt werden

Welche Möglichkeiten habe ich hier?

Im Grunde wollte ich etwas hinzufügen wie:

<% if (!string.IsNullOrWhiteSpace(BackgroundImageUrl)) {
    { %>
    <a href="#" title="" style="background-image: <%= item.BackgroundImageUrl%>">
<% } %>

aber ich bin mir nicht sicher, ob die <%= item.BackgroundImageUrl%> wird innerhalb der Eigenschaft style korrekt escaped. Was ist das richtige Escape-Muster für diese?

4voto

Ulises Punkte 13081

Um HTML-Elemente programmierbar und auf der Serverseite zugänglich zu machen, fügen Sie eine runat="server" . Stellen Sie außerdem sicher, dass die <form> Tag hat auch runat="server" . Beispiel:

<a href="#" id="some_id" runat="server" title="" style="background-image: url('../i/foo/image.png')">

Auf der Server-Seite tun:

some_id.Style.Add("background-color", "red");

Siehe dies Website für weitere Einzelheiten

1voto

Robin Maben Punkte 20864

Ich rate mal

<% if (!string.IsNullOrWhiteSpace(BackgroundImageUrl)) {
    { %>
    <a href="#" title="">Text</a>
<% } %>

In Ihren Stilbereichen

<style type="text/css"> 
    .selector { background-image:<%= item.BackgroundImageUrl %> }
</style>

1voto

MacGyver Punkte 17368

Versuchen Sie dies:

<% if (!string.IsNullOrWhiteSpace(BackgroundImageUrl)) { Response.Write("<a href=\"\" title=\"\" style=\"background-image: url('" + item.BackgroundImageUrl + "')\">"); } %>

0voto

Dave Punkte 1254

Ähnliches Problem, andere Antwort. Zunächst einmal war meine in einer Tabelle so:

tr1 = New TableRow
thIn = New TableHeaderCell
thIn.CssClass = "Label"
Dim Anchor As New HtmlAnchor
Anchor.HRef = "PrintForm.aspx?iAuto=" & CStr(rsRCData("ID"))
Anchor.InnerHtml = "<img src='images/PrintButton.png' border='0' />"
Anchor.Target = "_blank"
thIn.Controls.Add(Anchor)
tr1.Cells.Add(thIn)
tbl1.Rows.Add(tr1)

Funktioniert bei mir.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X