Where is Html.Image in ASP .NET MVC RC?

前端 未结 6 1812
旧巷少年郎
旧巷少年郎 2020-12-29 06:31

I can\'t find the Html.Image method in new MVC RC version. Please somebody give me example how to render simple Image in ASP .NET MVC RC sites.

6条回答
  •  难免孤独
    2020-12-29 06:38

    Need to write your own or use the Url.Content() method to set the source attribute. Or you can use mine. :-)

    public static class HtmlHelperExtensions
    {
    
        public static string Image( this HtmlHelper helper, 
                                    string url,
                                    string altText,
                                    object htmlAttributes )
        {
            TagBuilder builder = new TagBuilder( "img" );
            builder.Attributes.Add( "src", url );
            builder.Attributes.Add( "alt", altText );
            builder.MergeAttributes( new RouteValueDictionary( htmlAttributes ) );
            return builder.ToString( TagRenderMode.SelfClosing );
        }
    }
    

    Usage:

    <%= Html.Image( Url.Content( "~/Content/images/img.png" ),
                   "alt text",
                   new { id = "myImage", border = "0" } )
     %>
    

    EDIT: Since I wrote this I've gone away from using it. I'll leave the answer here, though for posterity. While I think it, or the method from the Future assembly, is a reasonable choice, I find myself simply using the image tag with the url supplied by a UrlHelper. When I refactored my helpers into a standalone library, this one didn't make the cut. I'll re-evaluate if it makes it into the (non-futures) MVC library.

    "
         alt="alt text"
         class="has-border" />
    

提交回复
热议问题