【发布时间】:2010-04-19 14:23:48
【问题描述】:
我们使用 ascx 用户控件作为文档(例如发票)的模板。 现在我需要从 Windows 服务加载、渲染为 HTML,然后将这些控件转换为 PDF。
那么,正确的方法/解决方法是什么? TemplateControl.LoadControl(path) 不起作用。
【问题讨论】:
标签: c# user-controls dynamic-usercontrols
我们使用 ascx 用户控件作为文档(例如发票)的模板。 现在我需要从 Windows 服务加载、渲染为 HTML,然后将这些控件转换为 PDF。
那么,正确的方法/解决方法是什么? TemplateControl.LoadControl(path) 不起作用。
【问题讨论】:
标签: c# user-controls dynamic-usercontrols
老实说,我不知道该怎么做。但是,如果我遇到了这个问题,我想我会download the ASP.NET MVC source,看看他们如何渲染局部视图(MVC 中的局部视图本质上是一个 .ascx 控件)。 System.Web.Mvc.WebFormView 上的 Render 方法可能是一个不错的起点。
【讨论】:
老实说,您可能走错路了。您可能应该将您的逻辑嵌入到一个库中,然后使用该库的用户控制界面。然后,您可以使用相同的逻辑来填充表单或类似的值。
您可能会在尝试加载控件以及处理 ASP.Net 之外不存在的东西(如会话变量和视图状态)时遇到很多麻烦。
通常,您需要的是一个报表,它由 Crystal Reports 或 SQL Server Reporting Services 之类的东西处理。
【讨论】: