Using the ImageUrl property of the HyperLink control

Discussion in 'ASP .Net' started by Nathan Sokalski, Jan 29, 2009.

  1. I have several HyperLink controls on my site in which I use the ImageUrl
    property to display them as an image. This generates something like the
    following:

    <a><img/></a>

    I would like to specify the height and width of the image, but if I use the
    HyperLink's Height and Width properties, something like the following is
    generated:

    <a style="display:inline-block;height:100px;width:100px;"><img/></a>

    My basic problem here is that there is no way to add style to the image.
    Yes, I know that I could make the HyperLink and image separate controls or
    create a CSS class that uses a child selector. But we all know that it is
    good practice to set the width and height of images, so why did they give
    the HyperLink an ImageUrl property if you can't specify it's width and
    height? In my opinion, the HyperLink is very poorly designed when it comes
    to creating graphical hyperlinks.
     
    Nathan Sokalski, Jan 29, 2009
    #1
    1. Advertisements

  2. Nathan Sokalski

    iduditz Guest

    Its probably easier to just use the img itself i.e.
    <a href="bla"><img src="bla" width="64" height="64"></a>
     
    iduditz, Jan 29, 2009
    #2
    1. Advertisements

  3. Nathan Sokalski

    Patrik Guest

    Yep you are right. The ImageUrl is pretty useless if you want to
    control the attributes of the image.
    But the control also provides you with the ability to add subcontrols.
    For example:

    Image img = new Image();
    img.ImageUrl = "picture.jpg";
    img.Width = new Unit(150, UnitType.Pixel);
    img.Height = new Unit(150, UnitType.Pixel);

    MyHyperLinkControl.Controls.Add(img);

    That would probably work pretty much the way you want, and you can
    access all attributes of the image.

    ///Patrik
     
    Patrik, Jan 29, 2009
    #3
  4. You are correct in your solution, but I was looking for a way to do this
    declaratively using only the HyperLink control. Please don't bother to tell
    me some other combination of tags/controls that will produce what I
    mentioned, because I know how to do it that way. Basically all I am saying
    in this post is that there are certain things that a control should give you
    access to, and in my opinion the HyperLink does not do that.
    --
    Nathan Sokalski

    http://www.nathansokalski.com/

     
    Nathan Sokalski, Jan 30, 2009
    #4
  5. Nathan Sokalski

    Brickbat Guest

    I don't understand how this glaring omission hasn't been fixed by Microsoft.
    Don't they care that developers see stuff like this and think 'PHP please' or
    'JSP whatever'. I get so frustrated by this kind of crap - they need to fire
    all the suits with their marketing garbage and hire a few more developers.

     
    Brickbat, Apr 18, 2009
    #5
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.