如何从控制台应用程序或 Windows 服务加载 .ascx 用户控件?

发布于 2024-08-29 18:28:09 字数 146 浏览 2 评论 0原文

我们使用 ascx 用户控件作为文档(例如发票)的模板。 现在我需要从 Windows 服务加载这些控件,渲染为 HTML,然后转换为 PDF。

那么,正确的方法/解决方法是什么? TemplateControl.LoadControl(path) 不起作用。

We use ascx user controls as templates for documents (e.g. invoices).
Now I need to load,render to HTML, then transform to PDF these controls from windows service.

So, what's the correct way/workaround? TemplateControl.LoadControl(path) doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不必了 2024-09-05 18:28:09

老实说,我不知道该怎么做。但是,如果我遇到这个问题,我想我会 下载 ASP .NET MVC 源,并查看它们如何渲染部分视图(MVC 中的部分视图本质上是一个 .ascx 控件)。 System.Web.Mvc.WebFormView 上的 Render 方法可能是一个很好的起点。

To be perfectly honest, I don't know how to do this. However, if I was stuck with this problem, I think I'd download the ASP.NET MVC source, and see what they do to render a partial view (a partial view in MVC is essentially an .ascx control). The Render method on System.Web.Mvc.WebFormView might be a good starting place.

荒人说梦 2024-09-05 18:28:09

老实说,你可能采取了错误的方式。您可能应该将逻辑嵌入到库中,然后使用该库提供用户控制界面。然后,您可以使用相同的逻辑来填充表单或类似表单上的值。

在尝试加载控件并处理 ASP.Net 之外不存在的内容(例如会话变量和视图状态)时,您可能会遇到很多麻烦。

一般来说,您需要的是一份报告,该报告由 Crystal Reports 或 SQL Server Reporting Services 之类的工具处理。

You're probably going about it the wrong way, to be honest. You should probably have your logic embedded in a library, and then have the user control interface with that library. Then, you could use that same logic to populate values on a form, or similar.

You're probably going to run into a lot of trouble trying to get the control to load, and deal with things that don't exist outside of ASP.Net, like session variables, and viewstate.

Generally, what you're asking for is a report, which is handled by something like Crystal Reports, or SQL Server Reporting Services.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文