我喜欢TBD的评论.这是错误的,因为您将域关注与UI问题混合在一起.这会导致您可以避免的耦合.
至于你建议的解决方案,我真的不喜欢它们中的任何一个.
介绍视图模型.是的,我们应该使用视图模型,但我们不想用HTML代码污染它们.因此,使用视图的一个示例是,如果您有父对象,人物类型,并且您想要在屏幕上显示人物类型.您可以使用人员类型名称填充视图模型,而不是完整人员类型对象,因为您只需要屏幕上的人员类型名称.或者,如果您的域模型的名字和名字是分开的,但是您的视图调用了FullName,您将填充视图模型的FullName并将其返回到视图.
PersonHtml类.我甚至不确定那会怎么做.视图代表ASP.NET MVC应用程序中的HTML.你有两个选择:
一个.您可以为模型创建显示模板.这是一个Stack Overflow问题的链接,用于显示模板,如何在MVC 4项目中制作显示模板
湾 您还可以编写一个HtmlHelper方法,为您生成正确的HTML.像@ Html.DisplayNameLink(...)之类的东西那些将是你最好的选择.以下是了解HtmlHelpers的链接https://download.microsoft.com/download/1/1/f/11f721aa-d749-4ed7-bb89-a681b68894e6/ASPNET_MVC_Tutorial_9_CS.pdf