Asp.net 仅将预定义值传递给用户控件属性

Asp.net 仅将预定义值传递给用户控件属性,asp.net,properties,user-controls,Asp.net,Properties,User Controls,为了从.aspx页面传递值,我创建了一个用户控件并定义了属性。作为下一步,我想在这些属性中定义用户控件可以接受的值 例如,如果它是一个需要bool值的属性,我希望能够选择true或false,等等 不太清楚如何开始。你的问题有点含糊不清,但下面是: 如果您的属性是布尔值,则只有两个可能的值,因此无需再做任何操作 如果有一组整数值,可以将其设置为枚举 如果您有一组字符串值,那么最好将它们重新整理成一个枚举,并使用以下几种技术之一(询问是否需要)将文本与数值关联起来 所有这些都假定为离散值。如果您有

为了从.aspx页面传递值,我创建了一个用户控件并定义了属性。作为下一步,我想在这些属性中定义用户控件可以接受的值

例如,如果它是一个需要bool值的属性,我希望能够选择true或false,等等


不太清楚如何开始。

你的问题有点含糊不清,但下面是:

  • 如果您的属性是布尔值,则只有两个可能的值,因此无需再做任何操作
  • 如果有一组整数值,可以将其设置为枚举
  • 如果您有一组字符串值,那么最好将它们重新整理成一个枚举,并使用以下几种技术之一(询问是否需要)将文本与数值关联起来
  • 所有这些都假定为离散值。如果您有一个连续值范围(-1.000到1.000,或者类似的值),那么您可能需要在属性的Getter和Setter中编写验证代码。另一种选择是在基础模型上使用DataAnnotation


    如果您只需要知道如何防止将坏数据输入到用户控件内的web控件中,则需要查看验证控件

    你能给出一些你有问题的代码吗?这不是代码,我试图找出设置代码的方法。它是关于让Intellisense与我的用户控件一起工作,但如何在开始为usercontrol属性键入值时获取可能值的列表。例如UserControl.Readonly=。。。我只想得到尽可能正确和错误的值,所以你说的是让Intellisense在HTML编辑器中与你的用户控件一起工作?你可能应该重写(并重新命名)你的问题,以明确这一点。如果我知道我在说什么,我不会问这个问题:)我最终得到了这个问题。EmailClient1.BodyType=Admin.Web.Controls.EmailClient.BodyTypeValues.html;有没有办法让这个.EmailClient1.BodyType=html;?在代码背后?不,很遗憾:您必须指定枚举的名称,然后指定所需的值。但您可以将
    using
    语句放在文件顶部,将其简化为
    BodyTypeValues.html
    using Admin.Web.Controls.EmailClient