내 HTML 헬퍼 방법제대로
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);
}
을했다하지만이 @Html.MedalImage(HtmlHelpers.Color.Red)
처럼보기에서 사용하고자 할 때 그것은 렌더링 :
<img alt="Image not found" src="/Content/Medals/redMedal.png" />
그리고이 경우 이미지를 만들지 않고 텍스트 만 만듭니다.
그러나 @Html.Raw(Html.MedalImage(HtmlHelpers.Color.Red))
을 사용하면 예상대로 작동하고 내 이미지가 렌더링됩니다. 누군가 왜 저에게 말할 수 있습니까? 또는 Html.Raw 메서드를 사용할 필요가 없도록 내 도우미를 수정하는 방법?