高级 ASP.Net Core Razor 页面最佳实践

问题描述 投票:0回答:1

我一直在审查 ASP.Net Core Razor 页面,以确定这是否是我们将 ASP.Net Webform 迁移到的一个好方向。 Razor 页面有很多值得喜欢的地方,但我遇到了几个无法找到解决方案的问题。我发现 Mike Brind 的书(ASP.Net Core Razor Pages in Action)非常有帮助,但它只是一个介绍,我无法找到一些更高级问题的答案。 (作为一个附带问题,如果有人可以向我指出高级信息或具有高级知识的人,我将不胜感激)。

我最紧迫的问题之一是关于复杂的形式/对象。我们现有的网站有一些相当广泛的形式。这些数据被输入到一些相当广泛的数据对象中,并由这些数据对象提供数据。例如,我们的一个物体有大约。 20 个导航字段(意味着主对象和子对象之间存在一对多,有时甚至是多对多关系)。此外,其中一些子对象又具有子对象。例如,我有一个“事件报告”对象,它导航到 0 个或多个“车辆”对象,而这些对象又导航到 0 个或多个“乘客”对象。目前,我使用模态弹出窗口来输入子对象信息,并且从子对象弹出窗口中我可以启动收集子子对象信息的子子对象弹出窗口。我想保留新网站的模态弹出 UI(引导程序的 .Modal 函数在这方面做得很好)。

Razor 提供的自动数据绑定非常酷。为了动态添加子对象(和子子对象),我在 JavaScript 中创建了相当多的前端代码,以方便准备数据,以便在发布页面时自动数据绑定所有对象/子对象。对于子对象,当我在弹出窗口上单击“保存”时,我使用 JavaScript 创建格式正确的隐藏 html 输入字段,以便在发布页面时它们将进行数据绑定。此外,在编辑时,我会根据需要使用这些隐藏的输入元素来填充弹出窗口的表单字段。

数据绑定正在正常工作。我已经进行了小规模测试,它正在按我们希望的方式工作,但我想知道使用 Razor 页面执行此操作的最佳实践。在某种程度上,我感觉我已经把一堆后端代码推到了前端。我读过几篇讨论数据绑定“复杂”对象的文章,它们只涵盖一级子对象,通常只是动态地将新字段添加到带有用于演示的 2 或 3 个字段的表中。目前尚不清楚他们所做的是否被认为是最佳实践,所以我想知道什么是最佳实践。这是最佳实践吗,我应该做一些不同的事情吗?有没有教程涵盖这个?

c# asp.net-core razor razor-pages
1个回答
0
投票

我做的事情与你所描述的类似。当表单具有多个级别并且需要复杂的 UI(例如用于添加嵌套数据的模态)时,除了将本质上的 UI 逻辑移至前端之外,您实际上没有任何其他选择。

至于前端逻辑使用什么,这纯粹取决于个人喜好。我使用普通 JS 和 templates,但 React、Angular、Vue 等也是有效的工具。

© www.soinside.com 2019 - 2024. All rights reserved.