【问题标题】:ASP.NET Dynamic Data automatically populating a Drop Down list based on MetadataASP.NET 动态数据根据元数据自动填充下拉列表
【发布时间】:2023-04-09 17:45:01
【问题描述】:

我正在使用 ASP.NET 动态数据,我想做的一件事是拥有一个元类,例如:

    public class CopyTermsHolidaysMetadata
    {
        [Required]
        public int SchoolID { get; set; }

        [Required]
        [UIHint("AcademicYear")]
        public int AcademicYear { get; set; }

        [DisplayName("Recipient School")]
        [Required]
        public int DestinationSchoolID { get; set; }
    }

现在,SchoolID 和 DestinationSchoolID 这两个字段是来自“School”表的下拉列表。

我可以使用任何属性将它们自动填充为下拉列表吗?

【问题讨论】:

    标签: c# asp.net asp.net-dynamic-data


    【解决方案1】:

    您应该使用允许替换(或添加新过滤器)CopyTermsHolidays 实体上的默认过滤器的 FilterUIHintAttribute 类。

    例如:

    [Required]
    [UIHint("AcademicYear")]
    [FilterUIHint("AcademicYearFilter")]
    public int AcademicYear { get; set; }
    

    其中AcademicYearFilter 是自定义过滤器,需要位于~\DynamicData\Filters 目录(AcademicYearFilter.ascx)中。

    更多信息请访问FilterUIHintAttribute Class

    我会鼓起勇气附上我的答案过滤器模板查找算法和一些
    ASP.NET Dynamic Data UNLEASHED 引用

    与字段模板的查找规则相比, 过滤器模板很简单。动态数据仅使用 FilterUIHint 与该列相关联,并具有几个内在知识 列类型。如果数据模型中没有指定FilterUIHint, 并且该列是外键(代表父级的列 多对一或一对一关联的导航属性 子实体)、布尔值或枚举,动态数据选择 预定义的 FilterUIHint 值、ForeignKey、布尔值或枚举, 分别。拥有 FilterUIHint 值,动态数据尝试 在 Web 应用程序项目的 DynamicData\Filters 目录。如果 用户控件不存在,查找过程结束,过滤 被认为不支持此列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      相关资源
      最近更新 更多