2011-03-17 54 views
2

我正在被使用的数据模型从编译库一个asp.net MVC 3应用模式。不过,我想能够在以下声明添加到一些数据模型的属性在编译后的DLL:ASP.NET MVC添加HiddenInput属性的DLL

[HiddenInput(DisplayValue = false)] 

的问题是,我没有DLL的源和作者不希望引入对System.Web.Mvc的依赖。有没有办法,使用部分类或类似的东西,这将允许我添加此属性?

马克

回答

5

不,没有办法。属性在编译时在程序集的元数据中烘焙,现有的类不能在运行时修改。就部分类而言,它们只能在同一个程序集中工作。

此外,如果该组件的作者不希望引入其库的依赖性与System.Web.Mvc他们可能有这个原因。很显然,你作为一个MVC开发者应该使用哪一个是专门针对你的意见需求类视图模型,然后在域模型之间进行映射(的东西,来自不同的库,...)和视图模型。然后,您会将这些视图模型传递给视图,而不是域模型。当然,您的视图模型将拥有所有必要的元数据和格式,如显示名称,隐藏的,......为了缓解这两个类之间的映射关系,你可以使用AutoMapper

0

你可以你的编译库数据模型映射到一组局部模型。

如果您要将已编译的库数据模型映射到您自己的一组本地模型,则可以按照自己的喜好进行操作。

您可以手动做到这一点还是看像AutoMapper的工具。

0

将对system.web.mvc的引用添加到您的类项目中。

相关问题