在带有多个选项卡的asp.net核心剃须刀页面中按需加载ViewComponent数据



我想创建一个有多个引导选项卡的剃刀页面。

Razor页面:客户/Edit.cshtml页面上的选项卡:[客户信息][联系人][订单]

根据我所做的研究,我相信ViewComponents或Partial Views将是我在这里的朋友,因为它可以将每个部分分解成自己的模型并具有可重用性。

然而,我有点困惑于如何避免同时从客户/编辑页面模型加载客户信息、联系人和订单的所有数据。

我的目标是让它在点击选项卡时加载数据。

在MVC和Core中,我使用各种方法,这取决于我当时对应用程序的看法。

如果所有内容都在一个视图模型中,那么引导选项卡只显示已经呈现给客户端的内容。如果您需要在每个选项卡中进行编辑,那么这种方法效果很好(在数据开销不大的情况下(。我可能会使用许多采用视图模型但只处理一个选项卡功能的操作。还值得添加一个操作参数,让您在渲染视图时选择可见选项卡。SAVE选项可以很简单,只需一个业务层方法即可处理创建和更新场景。

如果只显示数据和指向其他地方的链接,我可能会使用javascript方法在从相关操作激活每个选项卡时加载它的HTML。如果你想执行更改操作,那么你必须在每个选项卡中管理它。主视图非常简单,DIV占位符包含每个选项卡的每个操作所呈现的HTML。你可能会使用javascript进行更新操作,但你也可以使用带有ajax助手的标准表单/帖子来只呈现更新操作所需的DIV内容。

我有时会使用Bootstrap对话框进行更新,该对话框由javascript控制。在这些情况下,我的更新操作返回带有布尔值的JSON,以指示通过/失败,因此返回的消息要么是错误消息,要么是成功消息。JavaScript用于更新成功的标签内容

两种方法都不比其他好

相关内容

  • 没有找到相关文章

最新更新