Custom Image Button help.

Discussion in 'ASP .Net Building Controls' started by CK, Oct 6, 2006.

  1. CK

    CK Guest

    Hello All,
    I am trying to extend the default asp:ImageButton to include an image for an
    enabled state and a second image for a disabled state. I currently did this
    by extending the ImageButton class in a custom control, creating a property
    for each of these images (EnabledImageUrl, DisabledImageUrl) and then
    overrode the Enabled property to change base.ImageUrl respectively. I am
    also trying to use Themes with this web site. The problem is (I can tell by
    looking in the page source) that when the image urls are stored in the
    custom control they are not being resolved to the actual path of the images
    (they are "image\<picName>.gif" in the skin file). Also, when the ImageUrl
    is set on the base class it is also not being resolved to the actual (theme)
    path. I was wondering if there is something I have to do with my custom
    control, some convenience method I can run to resolve these paths or if
    there is a specific point in the ASP page lifecycle that I have to plug in
    to in order for these paths to get resolved by default.
    public class MultiImageButton : ImageButton
    {
    private string _enabledImageUrl;
    private string _disabledImageUrl;
    public bool Enabled
    {
    get { return base.Enabled; }
    set{
    base.Enabled = value;
    base.ImageUrl = value ? _enabledImageUrl :
    _disabledImageUrl;
    }
    }

    public string EnabledImageUrl
    {
    get { return _enabledImageUrl; }
    set{
    _enabledImageUrl = value;
    if (Enabled)
    base.ImageUrl = Page._enabledImageUrl;
    }
    }

    public string DisabledImageUrl
    {
    get
    {
    return _disabledImageUrl;
    }
    set
    {
    _disabledImageUrl = value;
    if (!Enabled)
    base.ImageUrl = _disabledImageUrl;
    }
    }
    }
    CK, Oct 6, 2006
    #1
    1. Advertising

  2. The client side url is resolved in the base class with the method
    ResolveClientUrl:

    base.ResolveClientUrl(base.ImageUrl);


    --
    Gregory A. Beamer
    MVP; MCP: +I, SE, SD, DBA
    http://gregorybeamer.spaces.live.com

    *************************************************
    Think outside of the box!
    *************************************************
    "CK" <> wrote in message
    news:1zgVg.10242$...
    > Hello All,
    > I am trying to extend the default asp:ImageButton to include an image for
    > an
    > enabled state and a second image for a disabled state. I currently did
    > this
    > by extending the ImageButton class in a custom control, creating a
    > property
    > for each of these images (EnabledImageUrl, DisabledImageUrl) and then
    > overrode the Enabled property to change base.ImageUrl respectively. I am
    > also trying to use Themes with this web site. The problem is (I can tell
    > by
    > looking in the page source) that when the image urls are stored in the
    > custom control they are not being resolved to the actual path of the
    > images
    > (they are "image\<picName>.gif" in the skin file). Also, when the
    > ImageUrl
    > is set on the base class it is also not being resolved to the actual
    > (theme)
    > path. I was wondering if there is something I have to do with my custom
    > control, some convenience method I can run to resolve these paths or if
    > there is a specific point in the ASP page lifecycle that I have to plug in
    > to in order for these paths to get resolved by default.
    > public class MultiImageButton : ImageButton
    > {
    > private string _enabledImageUrl;
    > private string _disabledImageUrl;
    > public bool Enabled
    > {
    > get { return base.Enabled; }
    > set{
    > base.Enabled = value;
    > base.ImageUrl = value ? _enabledImageUrl :
    > _disabledImageUrl;
    > }
    > }
    >
    > public string EnabledImageUrl
    > {
    > get { return _enabledImageUrl; }
    > set{
    > _enabledImageUrl = value;
    > if (Enabled)
    > base.ImageUrl = Page._enabledImageUrl;
    > }
    > }
    >
    > public string DisabledImageUrl
    > {
    > get
    > {
    > return _disabledImageUrl;
    > }
    > set
    > {
    > _disabledImageUrl = value;
    > if (!Enabled)
    > base.ImageUrl = _disabledImageUrl;
    > }
    > }
    > }
    >
    >
    >
    Cowboy \(Gregory A. Beamer\), Oct 6, 2006
    #2
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Purvi T
    Replies:
    0
    Views:
    820
    Purvi T
    Oct 19, 2004
  2. Russell
    Replies:
    3
    Views:
    6,893
    Lau Lei Cheong
    Jun 24, 2004
  3. James Storey via JavaKB.com
    Replies:
    7
    Views:
    11,415
  4. Chicagoboy27

    image button as a back button

    Chicagoboy27, Oct 26, 2006, in forum: ASP .Net
    Replies:
    2
    Views:
    1,995
    Chicagoboy27
    Oct 30, 2006
  5. CK

    Custom Image Button help.

    CK, Oct 6, 2006, in forum: ASP .Net Web Controls
    Replies:
    1
    Views:
    101
    Cowboy \(Gregory A. Beamer\)
    Oct 6, 2006
Loading...

Share This Page