denke ich einige Möglichkeiten, wie Sie dies über CSS und Ersetzen erreichen können.
HTML mit CSS ersetzen
Mit diesem können Sie im Text setzen + der [ersetzbar prop] unter dem Text param der Action. Damit muss der Benutzer keine spezifische Breite für den Text hinzufügen. Das Bild width
und height
kann auch direkt angegeben werden, anstatt es in die CSS-Klasse einzufügen. Wenn das verwendete Bild bereits in der Größe optimiert ist, müssen wir es nicht mehr hinzufügen. Position: absolute
wird hinzugefügt, damit der Text und das Bild richtig ausgerichtet werden.
@Html.Raw(@Html.ActionLink("Login [img]", "Index", "Home").ToHtmlString().Replace("[img]", "<img src='../Content/images/LogIn.png' class='imgLink' />"))
.imgLink {
position: absolute;
width: 20px;
height: 20px;
}
CSS
Dazu wird das Bild als Hintergrund hinzugefügt, so dass die Textbreite angegeben werden benötigt. Die Position des Bildes wird als center right
festgelegt.
Probe generierten Link mit Bild basierend auf dem folgenden Code:
@Html.ActionLink("Login" , "Index" , "Home" , new { @class="imgLinkButton" })
.imgLinkButton{
background: url('img.png') no-repeat center right;
display:block;
background-size: 20px 20px;
height:20px;
width:50px;
}
Url.Action & Url.Content können Ihre Action ersetzen, dann CSS-Eigenschaft auf Htmlattributes Einstellung sie in der richtigen Reihenfolge anzuordnen. http://stackoverflow.com/questions/26213704/adding-images-within-html-actionlink –