0
에서 ActionImage을 만드는 방법이있는까지 내 앞의 질문에 다음과 같습니다 How do you map areas on icon set to buttons?CSS의 스프 라이트
은 내가 ActionImage
링크를 생성하기 위해 내 자신의 HtmlHelper
확장하기로 결정, 그래서 인기의 일부를 잠식 확장 SO에 게시하고있어이 :
// Controller/Action Image Link
public static MvcHtmlString ActionImage(this HtmlHelper html,
string controller, string action, object routeValues,
string imageSrc, string alternateText, object imageAttributes)
{
UrlHelper url = new UrlHelper(html.ViewContext.RequestContext);
// build the <img> tag
TagBuilder imgBuilder = new TagBuilder("img");
imgBuilder.MergeAttribute("src", url.Content(imageSrc));
imgBuilder.MergeAttribute("alternateText", alternateText);
string imgHtml = imgBuilder.ToString(TagRenderMode.SelfClosing);
// build the <a> tag
TagBuilder anchorBuilder = new TagBuilder("a");
anchorBuilder.MergeAttribute("href", url.Action(action, controller, routeValues));
anchorBuilder.InnerHtml = imgHtml; // include the <img> tag inside
string anchorHtml = anchorBuilder.ToString(TagRenderMode.Normal);
return MvcHtmlString.Create(anchorHtml);
}
자, 문제는 내가 가진 CSS 스프라이트를 가지고 있고 나는 그것이 ActionImage
확장 메서드와 함께 작동하는 방법을 모르는 것입니다
ToString()
메서드를 호출하려고 시도했지만 URL을 반환하지 않습니다. 이 일을 가능하게하는 또 다른 방법이 있습니까?
@Html.ActionImage(
"Account",
"LogOn",
null,
"~/App_Sprites/twitterlogin.png",
"",
null
)
을 한 후 도우미가 Sprite.Image
도우미를 사용하여 이미지를 생성 돌봐 있습니다 :
을! Mersi :) – Kiril