簡體   English   中英

在應用程序中托管asp.net頁面

[英]hosting asp.net pages within the app

目標是使用應用內托管的模板(可能是使用卡西尼文件)生成一些html報告和html電子郵件

因此報表文件將保存在app_home \\ Report \\ Templates * .MyReport文件中

該應用程序將允許選擇報告(.aspx)頁面,並使用cassini / asp.net托管API對其進行加載,並處理一些自定義標記以填充數據

生成的html可以在webbrowser控件中查看,也可以通過html電子郵件發送

有沒有更好的辦法 ? 同樣任何關於使用卡西尼的指針都很好

最好將xslt用於此類任務-您可以將數據模型序列化為xml文檔,然后可以將具有xsl模板的xml文檔轉換為html。

AFAIK,您不能在您的應用程序中分發Cassini。 還有其他桌面Web服務器,但它們都不與asp.net 100%兼容。我認為,您的解決方案實施起來太復雜了。

編輯

從這篇文章中學到

我個人喜歡上面提到的StringTemplate選項,但實際上您可以在桌面應用程序中托管ASP.NET運行時。

West Wind Technologies的 Rick Strahl給出了如何進行設置的詳細示例: 使用ASP.Net Runtime通過動態HTML腳本擴展桌面應用程序

這是另外兩個例子:

其他選擇

選擇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#實現)。 此CodeProject文章很好地介紹了該主題

選擇3

如果您想要更高級的功能(如果您的用戶可以使用),我將研究向您的應用程序添加腳本(IronPhyton,IronRuby)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM