目标是使用应用程序中托管的模板生成一些html报告和HTML电子邮件,也许使用cassini
所以报告文件将保存在 APP_HOME \报告\模板* .MyReport 文件
该应用程序将允许选择报告(.aspx)页面,使用cassini / asp.net托管api加载它来处理一些自定义标记以填充数据
生成的html可以在webbrowser控件中查看,也可以通过电子邮件发送为html电子邮件
有更好的方法吗? 任何关于使用cassini的指针都会很棒
答案 0 :(得分:0)
最好使用xslt执行此类任务 - 您可以将数据模型序列化为xml文档,然后将xml文档转换为html格式。
答案 1 :(得分:0)
AFAIK您无法通过应用分发Cassini。还有其他桌面网络服务器,但不是它们与asp.net 100%兼容
在我看来,您的解决方案实施起来太复杂了。
我个人喜欢上面提到的StringTemplate选项,但您实际上可以在桌面应用程序中托管ASP.NET运行时。
在West Wind Technologies处的Rick Strahl有一个如何设置它的详细示例:Using the ASP.Net Runtime for extending desktop applications with dynamic HTML Scripts
以下是其他一些例子:
一个简单的解决方案是在模板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>
使用像StringTemplate这样的模板引擎(查找C#实现)。 This CodeProject article是该主题的一个很好的介绍
如果您想要更高级的东西(如果您的用户可以使用它),我会调查为您的应用添加脚本(IronPhyton,IronRuby)