首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Razor视图组件.Net Core2.1在选项卡中使用多个模型

使用Razor视图组件.Net Core2.1在选项卡中使用多个模型
EN

Stack Overflow用户
提问于 2018-11-13 13:42:46
回答 1查看 1.9K关注 0票数 0

我有一个稍微复杂的需求,比您的普通单一视图组件,我正试图解决。

我使用.Net Core2.1和实体框架构建了一个带有Razor页面的web应用程序

在其中一个页面上,我有一个选项卡式视图,用于输入和显示各种格式的信息。目前,我已经将每个“选项卡”作为单独的剃须刀页面构建,因为它们都使用多个模型,一个用于显示,另一个用于捕获数据。我尝试使用部分视图而没有任何结果,就像当我尝试更改选项卡时,整个页面重新加载,不是理想的,也是相当慢的。

进入Viewcomponents,我可以获得一个简单的viewcomponent,它可以使用一个模型来正常工作,但是对于另一个选项卡,我已经注入了2-3个模型/绑定了,我似乎找不到实现它的方法。我对框架的要求是不是太高了?

注意:我只想使用带有CSharp的剃须刀页面,而不使用Javascript。这是可能的吗?还是我应该认输,转而采用角MVC模式呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-13 14:17:22

你可以有几个选择。老实说,您的最佳路径是一个包装类,本质上是一个模型模型,如果您愿意的话。您只需为实际需要的每个模型创建一个带有属性的类。这样您就可以使用它作为页面的模型,但仍然可以访问选项卡的所有单个模型。

视图组件是一种有效的方法,但是有两件事您应该意识到:

  1. 视图组件呈现是完全独立的.换句话说,您的主要操作/视图基本上变成了存根,而不是单独做任何事情。相反,构建模型并将其传递给每个选项卡的视图的所有逻辑都包含在与该选项卡对应的视图组件中。
  2. 视图组件只是将HTML呈现到页面上。不能将其发布到视图组件。您仍然会张贴到您的实际主操作,因此,这将需要设置,以处理任何有关选项卡正在做的事情。

最后,如果您不希望每次更改选项卡时都往返到服务器,那么至少需要JavaScript作为选项卡接口。选项卡切换同时保持放置是动态功能,只有在JavaScript中才能实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53282368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档