I made my html helper method
public static string MedalImage(this HtmlHelper helper, Color color)
{
var builder = new TagBuilder("img");
switch (color)
{
case Color.Blue:
builder.MergeAttribute("src", "/Content/Medals/blueMedal.png");
break;
default:
builder.MergeAttribute("src", "/Content/Medals/redMedal.png");
break;
}
builder.MergeAttribute("alt", "Image not found");
return builder.ToString(TagRenderMode.SelfClosing);
}
But when I want to use it in View like this @Html.MedalImage(HtmlHelpers.Color.Red)
then it renders:
<img alt="Image not found" src="/Content/Medals/redMedal.png" />
And in this case it does not make image, only text.
But when I use @Html.Raw(Html.MedalImage(HtmlHelpers.Color.Red))
it does work as expected and renders my image. Can someone tell me why? Or how to fix my helper so I don't have to use Html.Raw method?