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

时间:2010-04-19 14:23:49

标签: c# user-controls dynamic-usercontrols

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

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

2 个答案:

答案 0 :(得分:1)

说实话,我不知道该怎么做。但是,如果我遇到这个问题,我想我会download the ASP.NET MVC source,看看他们做了什么来呈现局部视图(MVC中的局部视图本质上是一个.ascx控件)。 Render上的System.Web.Mvc.WebFormView方法可能是一个很好的起点。

答案 1 :(得分:0)

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

你可能会在尝试加载控件时遇到很多麻烦,并处理ASP.Net之外不存在的事情,比如会话变量和viewstate。

通常,您要求的是一个报表,它由Crystal Reports或SQL Server Reporting Services处理。