Asw*_*ith 55 asp.net asp.net-core-mvc
MVC 6引入了View组件,并表示它比部分视图更强大,更灵活.视图组件是否意味着替换部分视图?有什么区别以及每种实施需要什么样的情况?
Jal*_*ama 25
根据此链接 - https://docs.asp.net/en/latest/mvc/views/view-components
ASP.NET MVC 6的新增功能,视图组件(VC)与部分视图类似,但功能更强大.VC包括在控制器和视图之间发现的相同的关注点和可测试性优势.您可以将VC视为迷你控制器 - 它负责渲染块而不是整个响应.
因此它只是部分视图的增强,另一个区别是当您使用局部视图时仍然依赖于控制器而在View Component中您不需要控制器.因此存在分离的担忧.
ASP.NET View Components有一个详细信息. http://www.tugberkugurlu.com/archive/exciting-things-about-asp-net-vnext-series-mvc-view-components
您可能希望使用a ViewComponent
而不是a 的示例PartialView
:
您需要编写一堆业务逻辑,例如,您可能需要联系第三方Web服务并获取数据并对其执行某些操作然后显示此信息.
对于上面的场景,确定你可以在局部视图本身中编写C#代码,但它很难看,而且你希望代码是可测试的.因此,这是视图组件有用的地方,即您可以在视图组件中编写所有业务逻辑并返回视图(这是类型ViewViewComponentResult
).
视图组件与子操作不同.
ViewComponent
当您需要分部视图(需要在 _Layout 中调用模型)时,也会使用 s 。为了避免编写 C# 代码来在布局中创建模型,最好使用可以ViewComponent
通过依赖注入来利用为应用程序配置的服务(与控制器相同)的服务。
归档时间: |
|
查看次数: |
23451 次 |
最近记录: |