代码之家  ›  专栏  ›  技术社区  ›  Zachary Scott

ASP.NET MVC 2:使用[Data Annotations]引用可以提供DDL列表的方法?

  •  1
  • Zachary Scott  · 技术社区  · 14 年前

    将所有数据传递给视图的一种普遍接受的方法是使用一个数据模型,该模型同时引用域模型和其他数据,例如下拉列表(DDL)。

    但是,部分视图(视图模板也是)只接收主模型的一部分,无法访问发送到原始视图的模型的根。因此,如果您的DDL列表不是静态的,那么部分视图如何获取数据?

    有没有一种方法可以使用[数据注释]引用一个方法,该方法可以返回字段的可能值,然后在局部视图的DDL中使用这个方法? 这个方法在存储库中的什么地方存在?

    链接或C代码示例将非常有用。

    1 回复  |  直到 14 年前
        1
  •  1
  •   marcind    14 年前

    没有内置的数据注释属性可以满足您的要求。

    可以创建自己的属性,该属性包含对静态方法的类型和名称的引用,然后可以通过局部视图中的反射来调用该静态方法。

    您将在哪里放置这样一个方法取决于您正在做什么,尽管我仍然认为收集控制器中的所有输入会更好。始终可以在ViewData集合中设置额外的项,并将这些项传递到局部视图中。