Default Values for Control Properties

Discussion in 'ASP .Net Building Controls' started by dolfandon@gmail.com, May 3, 2006.

  1. Guest

    I have a custom control that has a bunch of properties on it. I added
    the DefaultValue attribute to it and it all seems to work fine with
    showing up in the desiger and all. My question is, how do I get at that
    default value at run time? If the user does not enter anything in the
    designer then the entry never gets put in the control tag in the aspx
    page and when I read the value it is empty. What is the magic to get
    the default value or do I have to put it in the get of the property but
    that seems clunky.

    ASP.Net 2.0 for the record.

    TIA
    Don
     
    , May 3, 2006
    #1
    1. Advertising

  2. Brock Allen Guest

    Use reflection:

    object[] attrs = typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(typeof(DefaultPropertyAttribute),
    false);
    DefaultPropertyAttribute attr = attrs[0] as DefaultPropertyAttribute;
    object value = attr.Value;

    -Brock
    http://staff.develop.com/ballen


    > I have a custom control that has a bunch of properties on it. I added
    > the DefaultValue attribute to it and it all seems to work fine with
    > showing up in the desiger and all. My question is, how do I get at
    > that default value at run time? If the user does not enter anything in
    > the designer then the entry never gets put in the control tag in the
    > aspx page and when I read the value it is empty. What is the magic to
    > get the default value or do I have to put it in the get of the
    > property but that seems clunky.
    >
    > ASP.Net 2.0 for the record.
    >
    > TIA Don
    >
     
    Brock Allen, May 3, 2006
    #2
    1. Advertising

  3. MSDN Guest

    Brock,

    I can't make your reflection example to work.
    For example in a class called "Foo", a TextBox1 and to get the Width
    What do you put , and is this good for FW 2.0?

    Thanks


    "Brock Allen" <> wrote in message
    news:...
    > Use reflection:
    >
    > object[] attrs =
    > typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(typeof(DefaultPropertyAttribute),
    > false);
    > DefaultPropertyAttribute attr = attrs[0] as DefaultPropertyAttribute;
    > object value = attr.Value;
    >
    > -Brock
    > http://staff.develop.com/ballen
    >
    >
    >> I have a custom control that has a bunch of properties on it. I added
    >> the DefaultValue attribute to it and it all seems to work fine with
    >> showing up in the desiger and all. My question is, how do I get at
    >> that default value at run time? If the user does not enter anything in
    >> the designer then the entry never gets put in the control tag in the
    >> aspx page and when I read the value it is empty. What is the magic to
    >> get the default value or do I have to put it in the get of the
    >> property but that seems clunky.
    >>
    >> ASP.Net 2.0 for the record.
    >>
    >> TIA Don
    >>

    >
    >
     
    MSDN, May 4, 2006
    #3
  4. MasterGaurav Guest

    Adding to Brock's comments...

    Default Value attribute is only for the designer.
    Runtime has nothing to do with it... it never makes use of it.
    It if your responsibility to provide the value.

    btw, where are you writing the the code that Brock provided?

    Simplest way:

    public PropertyType PropertyName
    {
    get
    {
    object obj = GetFromViewState...
    if(obj != null)
    {
    (PropertyType) obj;
    }
    return DefaultValue_Of_PropertyName;
    }
    }


    --
    Cheers,
    Gaurav Vaish
    http://mastergaurav.org
    http://www.edujini.in
    -------------------------------
    To Hell with Murphy's Law.. When things go broke, FIX Them
    -------------------------------
     
    MasterGaurav, May 4, 2006
    #4
  5. Guest

    I ended up doing what Gaurav has (sort of) :)

    [DefaultValue("defaultForProperty1")]
    public string Property1
    {
    get
    {
    return (ValueNotInViewState() ? "defaultForProperty1" :
    ValueInViewState);
    }
    set
    {
    SaveValueInViewState(value);
    }
    }
     
    , May 4, 2006
    #5
  6. Brock Allen Guest

    This works for me:

    using System;
    using System.ComponentModel;

    public class Foo
    {
    [DefaultValue(5)]
    public int Data
    {
    get
    {
    return 5;
    }
    }
    }

    class App
    {
    static void Main(string[] args)
    {
    object[] attrs =
    typeof(Foo).GetProperty("Data").GetCustomAttributes(typeof(DefaultValueAttribute),
    false);
    DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    object val = attr.Value;
    Console.WriteLine(val);
    }
    }


    -Brock
    http://staff.develop.com/ballen


    > Brock,
    >
    > I can't make your reflection example to work.
    > For example in a class called "Foo", a TextBox1 and to get the Width
    > What do you put , and is this good for FW 2.0?
    > Thanks
    >
    > "Brock Allen" <> wrote in message
    > news:...
    >
    >> Use reflection:
    >>
    >> object[] attrs =
    >> typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(typ
    >> eof(DefaultPropertyAttribute),
    >> false);
    >> DefaultPropertyAttribute attr = attrs[0] as DefaultPropertyAttribute;
    >> object value = attr.Value;
    >> -Brock
    >> http://staff.develop.com/ballen
    >>> I have a custom control that has a bunch of properties on it. I
    >>> added the DefaultValue attribute to it and it all seems to work fine
    >>> with showing up in the desiger and all. My question is, how do I get
    >>> at that default value at run time? If the user does not enter
    >>> anything in the designer then the entry never gets put in the
    >>> control tag in the aspx page and when I read the value it is empty.
    >>> What is the magic to get the default value or do I have to put it in
    >>> the get of the property but that seems clunky.
    >>>
    >>> ASP.Net 2.0 for the record.
    >>>
    >>> TIA Don
    >>>
     
    Brock Allen, May 4, 2006
    #6
  7. MSDN Guest

    Brock,

    First Thank you,
    Second: When I drop a TextBox on a web form it has some default properties
    like width and height.
    Without assigning any values to the TextBox above, How do I get these
    defaults?

    Thank You,

    SA


    "Brock Allen" <> wrote in message
    news:...
    > This works for me:
    >
    > using System;
    > using System.ComponentModel;
    >
    > public class Foo
    > {
    > [DefaultValue(5)]
    > public int Data
    > {
    > get
    > {
    > return 5;
    > }
    > }
    > }
    >
    > class App
    > {
    > static void Main(string[] args)
    > {
    > object[] attrs =
    > typeof(Foo).GetProperty("Data").GetCustomAttributes(typeof(DefaultValueAttribute),
    > false);
    > DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    > object val = attr.Value;
    > Console.WriteLine(val);
    > }
    > }
    >
    >
    > -Brock
    > http://staff.develop.com/ballen
    >
    >
    >> Brock,
    >>
    >> I can't make your reflection example to work.
    >> For example in a class called "Foo", a TextBox1 and to get the Width
    >> What do you put , and is this good for FW 2.0?
    >> Thanks
    >>
    >> "Brock Allen" <> wrote in message
    >> news:...
    >>
    >>> Use reflection:
    >>>
    >>> object[] attrs =
    >>> typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(typ
    >>> eof(DefaultPropertyAttribute),
    >>> false);
    >>> DefaultPropertyAttribute attr = attrs[0] as DefaultPropertyAttribute;
    >>> object value = attr.Value;
    >>> -Brock
    >>> http://staff.develop.com/ballen
    >>>> I have a custom control that has a bunch of properties on it. I
    >>>> added the DefaultValue attribute to it and it all seems to work fine
    >>>> with showing up in the desiger and all. My question is, how do I get
    >>>> at that default value at run time? If the user does not enter
    >>>> anything in the designer then the entry never gets put in the
    >>>> control tag in the aspx page and when I read the value it is empty.
    >>>> What is the magic to get the default value or do I have to put it in
    >>>> the get of the property but that seems clunky.
    >>>>
    >>>> ASP.Net 2.0 for the record.
    >>>>
    >>>> TIA Don
    >>>>

    >
    >
     
    MSDN, May 4, 2006
    #7
  8. Brock Allen Guest

    In my sample code change "Foo" to "TextBox" and change "Data" to "Width".

    -Brock
    http://staff.develop.com/ballen


    > Brock,
    >
    > First Thank you,
    > Second: When I drop a TextBox on a web form it has some default
    > properties
    > like width and height.
    > Without assigning any values to the TextBox above, How do I get these
    > defaults?
    > Thank You,
    >
    > SA
    >
    > "Brock Allen" <> wrote in message
    > news:...
    >
    >> This works for me:
    >>
    >> using System;
    >> using System.ComponentModel;
    >> public class Foo
    >> {
    >> [DefaultValue(5)]
    >> public int Data
    >> {
    >> get
    >> {
    >> return 5;
    >> }
    >> }
    >> }
    >> class App
    >> {
    >> static void Main(string[] args)
    >> {
    >> object[] attrs =
    >> typeof(Foo).GetProperty("Data").GetCustomAttributes(typeof(DefaultVal
    >> ueAttribute),
    >> false);
    >> DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    >> object val = attr.Value;
    >> Console.WriteLine(val);
    >> }
    >> }
    >> -Brock
    >> http://staff.develop.com/ballen
    >>> Brock,
    >>>
    >>> I can't make your reflection example to work.
    >>> For example in a class called "Foo", a TextBox1 and to get the Width
    >>> What do you put , and is this good for FW 2.0?
    >>> Thanks
    >>> "Brock Allen" <> wrote in message
    >>> news:...
    >>>
    >>>> Use reflection:
    >>>>
    >>>> object[] attrs =
    >>>> typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(t
    >>>> yp
    >>>> eof(DefaultPropertyAttribute),
    >>>> false);
    >>>> DefaultPropertyAttribute attr = attrs[0] as
    >>>> DefaultPropertyAttribute;
    >>>> object value = attr.Value;
    >>>> -Brock
    >>>> http://staff.develop.com/ballen
    >>>>> I have a custom control that has a bunch of properties on it. I
    >>>>> added the DefaultValue attribute to it and it all seems to work
    >>>>> fine with showing up in the desiger and all. My question is, how
    >>>>> do I get at that default value at run time? If the user does not
    >>>>> enter anything in the designer then the entry never gets put in
    >>>>> the control tag in the aspx page and when I read the value it is
    >>>>> empty. What is the magic to get the default value or do I have to
    >>>>> put it in the get of the property but that seems clunky.
    >>>>>
    >>>>> ASP.Net 2.0 for the record.
    >>>>>
    >>>>> TIA Don
    >>>>>
     
    Brock Allen, May 4, 2006
    #8
  9. MSDN Guest

    Used your exact code, still getting 0 (zero)

    double wid = TextBox1.Width.Value;
    object[] attrs =typeof(System.Web.UI.WebControls.TextBox).GetProperty("Width").GetCustomAttributes(typeof(System.ComponentModel.DefaultValueAttribute),false);
    DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    object val = attr.Value;

    I guess this info is not available for web controls???????????????????????

    Thank you Brock
    SA

    "Brock Allen" <> wrote in message news:...
    > In my sample code change "Foo" to "TextBox" and change "Data" to "Width".
    >
    > -Brock
    > http://staff.develop.com/ballen
    >
    >
    >> Brock,
    >>
    >> First Thank you,
    >> Second: When I drop a TextBox on a web form it has some default
    >> properties
    >> like width and height.
    >> Without assigning any values to the TextBox above, How do I get these
    >> defaults?
    >> Thank You,
    >>
    >> SA
    >>
    >> "Brock Allen" <> wrote in message
    >> news:...
    >>
    >>> This works for me:
    >>>
    >>> using System;
    >>> using System.ComponentModel;
    >>> public class Foo
    >>> {
    >>> [DefaultValue(5)]
    >>> public int Data
    >>> {
    >>> get
    >>> {
    >>> return 5;
    >>> }
    >>> }
    >>> }
    >>> class App
    >>> {
    >>> static void Main(string[] args)
    >>> {
    >>> object[] attrs =
    >>> typeof(Foo).GetProperty("Data").GetCustomAttributes(typeof(DefaultVal
    >>> ueAttribute),
    >>> false);
    >>> DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    >>> object val = attr.Value;
    >>> Console.WriteLine(val);
    >>> }
    >>> }
    >>> -Brock
    >>> http://staff.develop.com/ballen
    >>>> Brock,
    >>>>
    >>>> I can't make your reflection example to work.
    >>>> For example in a class called "Foo", a TextBox1 and to get the Width
    >>>> What do you put , and is this good for FW 2.0?
    >>>> Thanks
    >>>> "Brock Allen" <> wrote in message
    >>>> news:...
    >>>>
    >>>>> Use reflection:
    >>>>>
    >>>>> object[] attrs =
    >>>>> typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(t
    >>>>> yp
    >>>>> eof(DefaultPropertyAttribute),
    >>>>> false);
    >>>>> DefaultPropertyAttribute attr = attrs[0] as
    >>>>> DefaultPropertyAttribute;
    >>>>> object value = attr.Value;
    >>>>> -Brock
    >>>>> http://staff.develop.com/ballen
    >>>>>> I have a custom control that has a bunch of properties on it. I
    >>>>>> added the DefaultValue attribute to it and it all seems to work
    >>>>>> fine with showing up in the desiger and all. My question is, how
    >>>>>> do I get at that default value at run time? If the user does not
    >>>>>> enter anything in the designer then the entry never gets put in
    >>>>>> the control tag in the aspx page and when I read the value it is
    >>>>>> empty. What is the magic to get the default value or do I have to
    >>>>>> put it in the get of the property but that seems clunky.
    >>>>>>
    >>>>>> ASP.Net 2.0 for the record.
    >>>>>>
    >>>>>> TIA Don
    >>>>>>

    >
    >
     
    MSDN, May 4, 2006
    #9
  10. Brock Allen Guest

    Does the array have zero or one element in it? If it has one element, then
    that's telling you the DefaultValue attribute has been appliied to the Width
    proeprty and the default value is "" (the empty string). Looking with reflector,
    that's what I'm expecting:

    [WebCategory("Layout"), DefaultValue(typeof(Unit), ""), WebSysDescription("WebControl_Width")]
    public virtual Unit Width
    {
    get
    {
    if (!this.ControlStyleCreated)
    {
    return Unit.Empty;
    }
    return this.ControlStyle.Width;
    }
    set
    {
    this.ControlStyle.Width = value;
    }
    }


    -Brock
    http://staff.develop.com/ballen


    > Used your exact code, still getting 0 (zero)
    >
    > double wid = TextBox1.Width.Value;
    > object[] attrs
    > =typeof(System.Web.UI.WebControls.TextBox).GetProperty("Width").GetCus
    > t
    > omAttributes(typeof(System.ComponentModel.DefaultValueAttribute),false
    > );
    > DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    > object val = attr.Value;
    > I guess this info is not available for web
    > controls???????????????????????
    >
    > Thank you Brock
    > SA
    > "Brock Allen" <> wrote in message
    > news:...
    >
    >> In my sample code change "Foo" to "TextBox" and change "Data" to
    >>

    > "Width".
    >
    >> -Brock
    >> http://staff.develop.com/ballen
    >>> Brock,
    >>>
    >>> First Thank you,
    >>> Second: When I drop a TextBox on a web form it has some default
    >>> properties
    >>> like width and height.
    >>> Without assigning any values to the TextBox above, How do I get
    >>> these
    >>> defaults?
    >>> Thank You,
    >>> SA
    >>>
    >>> "Brock Allen" <> wrote in message
    >>> news:...
    >>>
    >>>> This works for me:
    >>>>
    >>>> using System;
    >>>> using System.ComponentModel;
    >>>> public class Foo
    >>>> {
    >>>> [DefaultValue(5)]
    >>>> public int Data
    >>>> {
    >>>> get
    >>>> {
    >>>> return 5;
    >>>> }
    >>>> }
    >>>> }
    >>>> class App
    >>>> {
    >>>> static void Main(string[] args)
    >>>> {
    >>>> object[] attrs =

    > typeof(Foo).GetProperty("Data").GetCustomAttributes(typeof(DefaultVal
    >
    >>>> ueAttribute),
    >>>> false);
    >>>> DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    >>>> object val = attr.Value;
    >>>> Console.WriteLine(val);
    >>>> }
    >>>> }
    >>>> -Brock
    >>>> http://staff.develop.com/ballen
    >>>>> Brock,
    >>>>>
    >>>>> I can't make your reflection example to work.
    >>>>> For example in a class called "Foo", a TextBox1 and to get the

    > Width
    >
    >>>>> What do you put , and is this good for FW 2.0?
    >>>>> Thanks
    >>>>> "Brock Allen" <> wrote in message
    >>>>> news:...
    >>>>>> Use reflection:
    >>>>>>
    >>>>>> object[] attrs =
    >>>>>>

    > typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(t
    >
    >>>>>> yp
    >>>>>> eof(DefaultPropertyAttribute),
    >>>>>> false);
    >>>>>> DefaultPropertyAttribute attr = attrs[0] as
    >>>>>> DefaultPropertyAttribute;
    >>>>>> object value = attr.Value;
    >>>>>> -Brock
    >>>>>> http://staff.develop.com/ballen
    >>>>>>> I have a custom control that has a bunch of properties on it. I
    >>>>>>> added the DefaultValue attribute to it and it all seems to work
    >>>>>>> fine with showing up in the desiger and all. My question is, how
    >>>>>>> do I get at that default value at run time? If the user does not
    >>>>>>> enter anything in the designer then the entry never gets put in
    >>>>>>> the control tag in the aspx page and when I read the value it is
    >>>>>>> empty. What is the magic to get the default value or do I have
    >>>>>>> to put it in the get of the property but that seems clunky.
    >>>>>>>
    >>>>>>> ASP.Net 2.0 for the record.
    >>>>>>>
    >>>>>>> TIA Don
    >>>>>>>
     
    Brock Allen, May 4, 2006
    #10
  11. MSDN Guest

    Brock,

    We might be thinking about different things here. may be not?
    when you drop a TextBox control on the Designer it has a default width,
    height etc...
    How do you get that default width.
    Microsoft must be getting this default from some place ( meta data of
    defaults etc.. )
    I was hoping that your code can tell me how to get this default value.
    Microsoft must be baking this someplace.

    If the default is "" String.Empty(); then how does it show at design and run
    time at some width greater than 50px ++ ; ??

    Are we on the right page?

    Thank you Brock

    SA


    "Brock Allen" <> wrote in message
    news:...
    > Does the array have zero or one element in it? If it has one element, then
    > that's telling you the DefaultValue attribute has been appliied to the
    > Width proeprty and the default value is "" (the empty string). Looking
    > with reflector, that's what I'm expecting:
    >
    > [WebCategory("Layout"), DefaultValue(typeof(Unit), ""),
    > WebSysDescription("WebControl_Width")]
    > public virtual Unit Width
    > {
    > get
    > {
    > if (!this.ControlStyleCreated)
    > {
    > return Unit.Empty;
    > }
    > return this.ControlStyle.Width;
    > }
    > set
    > {
    > this.ControlStyle.Width = value;
    > }
    > }
    >
    >
    > -Brock
    > http://staff.develop.com/ballen
    >
    >
    >> Used your exact code, still getting 0 (zero)
    >>
    >> double wid = TextBox1.Width.Value;
    >> object[] attrs
    >> =typeof(System.Web.UI.WebControls.TextBox).GetProperty("Width").GetCus
    >> t
    >> omAttributes(typeof(System.ComponentModel.DefaultValueAttribute),false
    >> );
    >> DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    >> object val = attr.Value;
    >> I guess this info is not available for web
    >> controls???????????????????????
    >>
    >> Thank you Brock
    >> SA
    >> "Brock Allen" <> wrote in message
    >> news:...
    >>
    >>> In my sample code change "Foo" to "TextBox" and change "Data" to
    >>>

    >> "Width".
    >>
    >>> -Brock
    >>> http://staff.develop.com/ballen
    >>>> Brock,
    >>>>
    >>>> First Thank you,
    >>>> Second: When I drop a TextBox on a web form it has some default
    >>>> properties
    >>>> like width and height.
    >>>> Without assigning any values to the TextBox above, How do I get
    >>>> these
    >>>> defaults?
    >>>> Thank You,
    >>>> SA
    >>>>
    >>>> "Brock Allen" <> wrote in message
    >>>> news:...
    >>>>
    >>>>> This works for me:
    >>>>>
    >>>>> using System;
    >>>>> using System.ComponentModel;
    >>>>> public class Foo
    >>>>> {
    >>>>> [DefaultValue(5)]
    >>>>> public int Data
    >>>>> {
    >>>>> get
    >>>>> {
    >>>>> return 5;
    >>>>> }
    >>>>> }
    >>>>> }
    >>>>> class App
    >>>>> {
    >>>>> static void Main(string[] args)
    >>>>> {
    >>>>> object[] attrs =

    >> typeof(Foo).GetProperty("Data").GetCustomAttributes(typeof(DefaultVal
    >>
    >>>>> ueAttribute),
    >>>>> false);
    >>>>> DefaultValueAttribute attr = attrs[0] as DefaultValueAttribute;
    >>>>> object val = attr.Value;
    >>>>> Console.WriteLine(val);
    >>>>> }
    >>>>> }
    >>>>> -Brock
    >>>>> http://staff.develop.com/ballen
    >>>>>> Brock,
    >>>>>>
    >>>>>> I can't make your reflection example to work.
    >>>>>> For example in a class called "Foo", a TextBox1 and to get the

    >> Width
    >>
    >>>>>> What do you put , and is this good for FW 2.0?
    >>>>>> Thanks
    >>>>>> "Brock Allen" <> wrote in message
    >>>>>> news:...
    >>>>>>> Use reflection:
    >>>>>>>
    >>>>>>> object[] attrs =
    >>>>>>>

    >> typeof(YourClass).GetProperty("YourProperty").GetCustomAttributes(t
    >>
    >>>>>>> yp
    >>>>>>> eof(DefaultPropertyAttribute),
    >>>>>>> false);
    >>>>>>> DefaultPropertyAttribute attr = attrs[0] as
    >>>>>>> DefaultPropertyAttribute;
    >>>>>>> object value = attr.Value;
    >>>>>>> -Brock
    >>>>>>> http://staff.develop.com/ballen
    >>>>>>>> I have a custom control that has a bunch of properties on it. I
    >>>>>>>> added the DefaultValue attribute to it and it all seems to work
    >>>>>>>> fine with showing up in the desiger and all. My question is, how
    >>>>>>>> do I get at that default value at run time? If the user does not
    >>>>>>>> enter anything in the designer then the entry never gets put in
    >>>>>>>> the control tag in the aspx page and when I read the value it is
    >>>>>>>> empty. What is the magic to get the default value or do I have
    >>>>>>>> to put it in the get of the property but that seems clunky.
    >>>>>>>>
    >>>>>>>> ASP.Net 2.0 for the record.
    >>>>>>>>
    >>>>>>>> TIA Don
    >>>>>>>>

    >
    >
     
    MSDN, May 4, 2006
    #11
    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. Nathan Sokalski
    Replies:
    0
    Views:
    919
    Nathan Sokalski
    Oct 17, 2005
  2. Jonathan Wood
    Replies:
    2
    Views:
    4,266
    Jonathan Wood
    Feb 8, 2008
  3. Ben Schwehn

    how to set default values for non-basic type properties?

    Ben Schwehn, Sep 21, 2003, in forum: ASP .Net Building Controls
    Replies:
    2
    Views:
    214
    Ben Schwehn
    Sep 22, 2003
  4. Praveen Ramesh

    Specifying dynamic default values for properties in custom controls:

    Praveen Ramesh, Sep 2, 2004, in forum: ASP .Net Building Controls
    Replies:
    0
    Views:
    130
    Praveen Ramesh
    Sep 2, 2004
  5. Christophe Peillet

    CreateChildControls() always has default values for properties

    Christophe Peillet, Jan 14, 2006, in forum: ASP .Net Building Controls
    Replies:
    1
    Views:
    234
    Steven Cheng[MSFT]
    Jan 16, 2006
Loading...

Share This Page