编辑器模板和部分视图之间有什么区别?
我只是想知道这两者有何不同以及它们的优点和缺点是什么?
看来您可以使用部分视图完成所有可以使用模板执行的操作。
I am simply looking for how these two are different and what are their pros and cons?
It seems you can do all with partial views that you can do with templates.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您指的是 EditorTemplates(而不是内联时间表),则存在一些很大的差异。首先,分部视图要求您在使用它们时指定视图,而模板则作用于数据对象的类型。
其次,由于模板适用于数据类型,因此当您对模板进行更改时,它会在使用该类型的所有位置进行更改,而不仅仅是使用分部视图的位置(在某些情况下这也可能是一个缺点)。
第三,模板会传递部分视图没有的附加信息,特别是您收到模型元数据,例如由属性创建的元数据。
If you are referring to EditorTemplates (rather than inline timeplates), then there are some big differences. First, partial views require you to specify your view when you use them, while templates work on the type of the data object.
Second, because templates work on data types, then when you make a change to the template, it changes it everywhere that type is used, not just where the partial view is used (this can be a disadvantage as well in some cases).
Third, templates are passed additional information that partial views are not, in particular you recieve Model Metadata, such as that created by attributes.
如果您的意思是“内联助手”,它们只是构建等效于 HtmlHelper 扩展方法的一种更简单的方法 - 但它们仅适用于特定视图。另一方面,部分视图可以在不违反 MVC 的情况下(通过其控制器)拥有更多逻辑,并且可以轻松地从多个视图中重用它们
if you mean "inline helpers", they are simply an easier way of building the equivalent of HtmlHelper extension methods - but they are only for use in the specific view. partial views, on the other hand, can have more logic behind them (via their controller) without violating MVC and they can be easily reused from multiple views