C# 在自定义webcontrol中显示可能的属性值

C# 在自定义webcontrol中显示可能的属性值,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,我有一个自定义控件,可以将当前日期打印到页面中。 控件有一个Format属性,用于设置要打印的witch DateTime属性。(日期、日期、年份等) 创建枚举类型 名称空间YourNameSpace { } 然后将属性添加到控件: /// <summary> /// Date Format /// </summary> public DateFormat DateFormat { get {

我有一个自定义控件,可以将当前日期打印到页面中。 控件有一个Format属性,用于设置要打印的witch DateTime属性。(日期、日期、年份等)


创建枚举类型

名称空间YourNameSpace

{

}

然后将属性添加到控件:

    /// <summary>
    /// Date Format
    /// </summary>
    public DateFormat DateFormat
    {
        get
        {
            if (ViewState["DateFormat"] == null || ViewState["DateFormat"].ToString().Trim() == String.Empty)
            {
                return DateFormat.Date;  //Default
            }
            return (DateFormat)ViewState["DateFormat"];
        }
        set
        {
            ViewState["DateFormat"] = value;
        }
    }
//
///日期格式
/// 
公共日期格式日期格式
{
得到
{
如果(ViewState[“DateFormat”]==null | | ViewState[“DateFormat”].ToString().Trim()==String.Empty)
{
return DateFormat.Date;//默认值
}
返回(DateFormat)视图状态[“DateFormat”];
}
设置
{
ViewState[“DateFormat”]=值;
}
}

如果将Format属性设置为枚举而不是字符串,VS将能够显示支持的格式列表。例如:

public enum DateTimeFormat
{
    Year,
    ...
}

枚举部分是正确的。但是,如果我在一个页面中使用多个placec控件,ViewState的内容将无法工作。或者我错了吗?ViewState将绑定到WebControl实例,因此您可以在一个页面上有多个控件,并且它们不会冲突。
[Serializable()]

public enum DateFormat

{

    Date,

    Day,

    Year

}
    /// <summary>
    /// Date Format
    /// </summary>
    public DateFormat DateFormat
    {
        get
        {
            if (ViewState["DateFormat"] == null || ViewState["DateFormat"].ToString().Trim() == String.Empty)
            {
                return DateFormat.Date;  //Default
            }
            return (DateFormat)ViewState["DateFormat"];
        }
        set
        {
            ViewState["DateFormat"] = value;
        }
    }
public enum DateTimeFormat
{
    Year,
    ...
}