4 ŞUBAT 2011, Cuma
Eylem Resim MVC3 Razor
Ne görüntüleri MVC3 Razor kullanarak bağlantıları değiştirmek için en iyi yoldur. Ben sadece şu anda bu işi yapmaya
<a href="@Url.Action("Edit", new { id=MyId })"><img src="../../Content/Images/Image.bmp", alt="Edit" /></a>
Daha iyi bir yolu var mı?
CEVAP
4 ŞUBAT 2011, Cuma
CSHTML dosyasında kodunu basitleştirmek için HtmlHelper için bir uzantısı yöntemi oluşturabilirsiniz. Böyle bir yöntem ile etiketleri değiştirmek olabilir:
// Sample usage in CSHTML
@Html.ActionImage("Edit", new { id = MyId }, "~/Content/Images/Image.bmp", "Edit")
İşte yukarıdaki kod için örnek uzatma yöntemi:
// Extension method
public static MvcHtmlString ActionImage(this HtmlHelper html, string action, object routeValues, string imagePath, string alt)
{
var url = new UrlHelper(html.ViewContext.RequestContext);
// build the <img> tag
var imgBuilder = new TagBuilder("img");
imgBuilder.MergeAttribute("src", url.Content(imagePath));
imgBuilder.MergeAttribute("alt", alt);
string imgHtml = imgBuilder.ToString(TagRenderMode.SelfClosing);
// build the <a> tag
var anchorBuilder = new TagBuilder("a");
anchorBuilder.MergeAttribute("href", url.Action(action, routeValues));
anchorBuilder.InnerHtml = imgHtml; // include the <img> tag inside
string anchorHtml = anchorBuilder.ToString(TagRenderMode.Normal);
return MvcHtmlString.Create(anchorHtml);
}
Bunu Paylaş:
MVC3 Razor, nasıl bir eylem içinde işl...
C# MVC3 Razor öğeleri alternatif @dosy...
Nasıl ASP.NET MVC3 Razor " salt okunur...
MVC3 Razor özyinelemeli fonksiyon...
asp.net MVC3 razor: ekran actionlink k...