Ich versuche, den alten HTML.Image-Helfer zu portieren, von dem ich sicher bin, dass jeder ihn irgendwann benutzt hat, und ich habe Probleme. Die folgende kompiliert fein:Razor und HTML-Helfer
@Html.Image("my-id", "~/Content/my-img.png", "Alt Text")
Aber wenn ich versuche, es in einer Ansicht zu verwenden, um es einfach schreibt:
<img alt="Alt Text" id="my-id" src="/content/my-img.png" />
Und das Bild nicht angezeigt wird. Kann jemand helfen?
Hier ist der HTML.Image Helfer-Code, ich verwende:
public static class ImageHelper
{
public static string Image(this HtmlHelper helper, string id, string url, string alternateText)
{
return Image(helper, id, url, alternateText, null);
}
public static string Image(this HtmlHelper helper, string id, string url, string alternateText, object htmlAttributes)
{
// Instantiate a UrlHelper
var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
// Create tag builder
var builder = new TagBuilder("img");
// Create valid id
builder.GenerateId(id);
// Add attributes
builder.MergeAttribute("src", urlHelper.Content(url));
builder.MergeAttribute("alt", alternateText);
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
// Render tag
var ret = new MvcHtmlString(builder.ToString(TagRenderMode.SelfClosing));
return ret.ToHtmlString();
}
}
Ehrfürchtiges Mann. Vielen Dank. Ich schätze es sehr. Ich überprüfe die richtige Antwort, sobald der Stapelüberlauf mich ... lässt, dass ich warten muss. – jsteve81