设计器模式下的 ASP.NET 用户控件属性值选项

Posted

技术标签:

【中文标题】设计器模式下的 ASP.NET 用户控件属性值选项【英文标题】:ASP.NET User Control Property Value Options In Designer Mode 【发布时间】:2010-10-30 19:30:57 【问题描述】:

我正在使用 Visual Studio 2008 | .NET 3.5 | C#。我创建了一个具有以下属性的用户控件:DisplayMode。 DisplayMode 旨在显示一系列文本框或单个文本框。

[Browsable(true),
Category("Appearance"),
DefaultValue(DISPLAY_MODE_FIELDS),
Description("Indicates whether to display the phone number as a single text box or separate fields.")]
public string DisplayMode

      get  return mDisplayMode; 
      set  mDisplayMode = value; 
    

因此,我希望属性的选项为“字段”或“单个”。我在上面指定了我想在设计器中使其可浏览,但是我如何将这两个值设置为选项,而不是知道将来指定“字段”、“单个”等?是否有另一个属性可以用来装饰属性以列出这些选项,或者我是否需要创建一个枚举(哪个有效)?

提前致谢,如果您需要任何其他信息,请告诉我!

【问题讨论】:

【参考方案1】:

枚举是要走的路。它将为 Visual Studio html 编辑器中的值提供 IntelliSense,并且它将更加类型安全且更易于在代码中使用。

【讨论】:

感谢您的回复!听起来不错。不知道 .NET 是否为此提供了另一个属性。【参考方案2】:

只需创建一个枚举

在您的用户控件中 -

    public enum OrientationOption
     
        Horizontal,
        Vertical
    

    public OrientationOption Orientation  get; set; 

就是这样!这就是它在 VS 自动完成中的样子

【讨论】:

【参考方案3】:

我将为您的用户控件的DisplayMode 属性创建一个enum

【讨论】:

以上是关于设计器模式下的 ASP.NET 用户控件属性值选项的主要内容,如果未能解决你的问题,请参考以下文章

使用设计器 ASP.NET C# 将事件附加到占位符内的控件

用于 JQuery 日期时间选择器的 ASP.Net 包装器控件

具有自定义属性表单的 ASP.NET 组件

ASP.NET 用户控件性能增强

ASP.NET用户自定义控件

ASP .NET Web 窗体 - 为啥父级不使用数据绑定表达式调用自定义控件的属性设置器?