在应用程序中托管asp.net页面

时间:2009-07-14 21:06:47

标签: asp.net hosting reporting cassini

目标是使用应用程序中托管的模板生成一些html报告和HTML电子邮件,也许使用cassini

所以报告文件将保存在 APP_HOME \报告\模板* .MyReport 文件

该应用程序将允许选择报告(.aspx)页面,使用cassini / asp.net托管api加载它来处理一些自定义标记以填充数据

生成的html可以在webbrowser控件中查看,也可以通过电子邮件发送为html电子邮件

有更好的方法吗? 任何关于使用cassini的指针都会很棒

2 个答案:

答案 0 :(得分:0)

最好使用xslt执行此类任务 - 您可以将数据模型序列化为xml文档,然后将xml文档转换为html格式。

答案 1 :(得分:0)

AFAIK您无法通过应用分发Cassini。还有其他桌面网络服务器,但不是它们与asp.net 100%兼容 在我看来,您的解决方案实施起来太复杂了。

修改

我了解from this post

  

我个人喜欢上面提到的StringTemplate选项,但您实际上可以在桌面应用程序中托管ASP.NET运行时。

     

West Wind Technologies处的Rick Strahl有一个如何设置它的详细示例:Using the ASP.Net Runtime for extending desktop applications with dynamic HTML Scripts

     

以下是其他一些例子:

     

其他替代方案

备选方案1

一个简单的解决方案是在模板HTML中进行简单的替换(使用您自己的处理器,您就可以开始使用了。

这样的事情:

<table>
<tr>
  <th>Name</th>
  <th>Phone</th>
</tr>
<tr>
  <th>$Name</th> <!-- you should run a replace with $Name to the name -->
  <th>$Phone</th>
</tr>

备选方案2

使用像StringTemplate这样的模板引擎(查找C#实现)。 This CodeProject article是该主题的一个很好的介绍

备选方案3

如果您想要更高级的东西(如果您的用户可以使用它),我会调查为您的应用添加脚本(IronPhyton,IronRuby)