c# - 如何将解析后的aspx加载到字符串变量中

标签 c# asp.net

我正在尝试将已解析的 aspx 文件加载到字符串中。原因是因为我有一个页面,上面有大量的 html,其中也有需要处理的部分,以便插入正确的信息。然后,该页面需要显示为确认页面,并在用户提交表单时通过确认电子邮件发送。

显示确认页面非常简单,但我防止代码重复的想法是将 aspx 文件渲染为字符串变量,以用作电子邮件的内容。

我意识到我可以将所有内容添加为一个巨大的多行字符串并将其加载到 aspx 页面上,然后加载到电子邮件中,但这个解决方案对我来说感觉很困惑,并且需要重新编译应用程序曾经想要更改内容。

也许有人可以提出更好的方法来实现我正在尝试的目标?

我想出的代码如下,但我不确定是否可以在将 ProcessRequest 发送到浏览器之前捕获它的输出:

IHttpHandler handler = PageParser.GetCompiledPageInstance("/SubmitConfirmation.aspx?appid=" + this.Id, "SubmitConfirmation.aspx", HttpContext.Current);
handler.ProcessRequest(HttpContext.Current);
string str_out = ???;

基本上我想要实现的目标与以下 PHP 代码相同:

<?php
ob_start();
include("SubmitConfirmation.php");
$str_out = ob_get_contents();
ob_end_clean();
?>

欢迎任何建议。

最佳答案

你尝试过吗

System.IO.StringWriter htmlStringWriter = new System.IO.StringWriter();
Server.Execute("Page.aspx", htmlStringWriter);
string htmlOutput = htmlStringWriter.GetStringBuilder().ToString();

发现于Kiyoshi's blog 。测试了它 - 并为我工作。请参阅MSDN ,也

关于c# - 如何将解析后的aspx加载到字符串变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14959969/

相关文章:

c# - 来自 asp.net C# 页面的外部 javascript 文件

asp.net - 基于函数式编程的 UI

javascript函数返回值未按预期工作

c# - 管理绝对路径和完整路径

c# - 我怎样才能在oracle中输出一个参数作为varchar2

c# - 返回基于 int 的字符串

asp.net - 响应来自 ASP.NET 页面代码后面的 404 错误

c# - 如何从文本中删除 url

c# - 将图片框图像存储到数据库

c# - Mysql has exceeded the max_user_connections on c# website 错误