是否可以在后台运行aspx文件作为“内存”操作

时间:2013-12-12 19:06:28

标签: c# asp.net dynamic-pages

我在aspx上有一个实际存在的IIS文件。它有一个asp.net网格视图控件和几行html。

现在我想要的是,代码将使用运行时填充数据库的网格视图将aspx呈现在内存中的某个位置。然后通过我的代码,我将能够阅读整个生成的HTML。

有可能吗?或任何替代方案,以便我可以打开表单,但它不会提供给用户,某种visible=false东西。

请帮助。

注意

我期待与我们用于读取txt文件的过程相同。但是在这里我还需要一个额外的填充,也就是调用页面生命周期事件。

2 个答案:

答案 0 :(得分:0)

您可以使用RenderControl method将控件输出到HtmlTextWriter对象。

using (var textWriter = new StringWriter())
using (var writer = new HtmlTextWriter(textWriter))
{
    yourControl.RenderControl(writer);
    var html = textWriter.ToString();
}

答案 1 :(得分:0)

从设计角度来看,您所描述的场景并不是一个非常好的场景。在正常情况下,我必须明确表示我绝不会提出建议。我想你有充分的理由要使用这个“隐藏”的页面。

所以这是我的“建议”。您可以在另一个进程中将“隐藏”的aspx托管在单独的Web应用程序中,无法从服务器外部访问。然后,您的普通asp.net应用程序可以在代码后面发出HTTP请求,瞄准“隐藏”页面并使用响应(使用HTML Agility之类的工具解析HTTP响应。您可以通过放置隐藏特定页面它在IIS的另一个站点上并通过防火墙规则保护它。我相信还有其他方法可以隐藏它,但这是一个简单的方法。

希望我帮忙!