我正在开发一个 asp.net MVC 3 应用程序,该应用程序使用编译库中的数据模型。不过,我希望能够将以下声明添加到编译的 dll 中的某些数据模型属性中:
[HiddenInput(DisplayValue = false)]
问题是我没有 DLL 的源代码,而且作者不想引入对 System.Web.Mvc 的依赖。有没有一种方法,使用部分类或类似的东西,可以让我添加这个属性?
标记
最佳答案
不,没有办法。属性在编译时嵌入程序集的元数据中,并且现有类无法在运行时修改。就部分类而言,它们仅在同一个程序集中工作。
此外,如果此程序集的作者不想在其库中引入 System.Web.Mvc 的依赖项,他们可能有这样做的原因。显然,作为 MVC 开发人员,您应该使用 View 模型,这些 View 模型是专门根据您的 View 需求定制的类,然后在域模型(来自不同库的东西,...)和 View 模型之间进行映射。然后,您将这些 View 模型传递给 View 而不是域模型。当然,您的 View 模型将具有所有必要的元数据和格式,例如 DisplayName、Hidden,...为了简化这两个类之间的映射,您可以使用 AutoMapper .
关于asp.net-mvc - ASP.NET MVC向DLL中的Model添加HiddenInput属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339621/