繁体   English   中英

是否可以在 ASP.NET MVC Web 应用程序 C# 中“批量”生成视图?

[英]Is it possible to "batch" generate views in an ASP.NET MVC Web Application C#?

基本上,我有一个 C# MVC Web 应用程序,其控制器包含如下方法:

public ActionResult A (filters)

public ActionResult B (filters)

public ActionResult C (filters)

每一个都接受过滤器,使用数据(来自存储过程的 SQL)在模型中填充一个列表,并生成一个视图(使用数据表)。 在用户看来,他们点击一个按钮(A、B、C 等),选择他们想要的过滤器,点击“输入”,这个过程就会运行,生成视图(基本上是一个报告)。 用户可以重复执行此过程,并且这些视图/报告中的每一个都在页面上的其他视图/报告之上生成(它们可以上下滚动)。 我想要做的是有一个不同的按钮 --> 过滤页面,他们只选择他们想要生成的这些报告的“批次”。 因此,如果用户选择选项“批次 1”,它会生成报告 A(使用我定义的过滤器),然后生成报告 B(预定义的过滤器),然后生成报告 C(预定义的过滤器),理想情况下没有来自需要的用户。

最初,我一直希望有某种“超级控制器”,它会调用 ActionResult A,它会运行整个过程并生成视图。 然后,它不会结束,而是返回到这个“超级控制器”,然后调用 ActionResult B 并运行整个过程,生成视图等。但是,我现在想知道这在 MVC 中是否可行。 如果这是最“合乎逻辑”的解决方案,我确实觉得有点类似,但似乎 Controller 不会让您实现这样的东西(至少以我尝试过的方式)。 我也尝试过实现任务,但我唯一能做的就是创建 1 个巨大的视图/报告,这不能满足我的需要(即生成许多单独的视图,每个视图都包含通过 DataTables 导出为 PDF 等的能力)。 如果有人可以向我指出某种解决方案/想法来做到这一点,我将不胜感激。 如果需要更多信息,请告诉我。

您应该看到从控制器为切入点的http请求的行动。 所以,每个请求都映射到一个动作,所以这应该是不可能的,你不应该想到这样做。

最好采取行动来接收能够生成超级报告所需的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM