【问题标题】:hosting asp.net pages within the app在应用程序中托管 asp.net 页面
【发布时间】:2009-07-14 21:06:47
【问题描述】:

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

因此报告文件将保存在 app_home\Report\Templates*.MyReport 文件

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

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

有没有更好的方法? 此外,任何关于使用 cassini 的指示都会很棒

【问题讨论】:

  • 如果你想得到任何回应,你需要更多的细节段落。

标签: asp.net hosting reporting cassini


【解决方案1】:

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

编辑

我知道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)

【讨论】:

    【解决方案2】:

    最好将 xslt 用于此类任务 - 您可以将数据模型序列化为 xml 文档,然后可以将带有 xsl 模板的 xml 文档转换为 html。

    【讨论】:

    • 我们的目标是将模板生成工作交给具有中等计算机/html 素养的最终用户,他们可以使用 ergo 来格式化自己的报告,xslt 不起作用
    猜你喜欢
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多