我有一个页面,上面有一堆用户控件。我希望能够直接在将在我的代码中替换的内容中包含“宏”或“占位符”。这并不重要,但我使用 Ektron 作为我的 CMS。
在将其发送到客户端之前,是否有任何页面事件可以挂钩以对整个呈现的页面内容进行字符串替换?
更新
这是我目前用来完成此操作的代码:
protected override void Render(HtmlTextWriter writer)
{
string content = string.Empty;
using (var stringWriter = new StringWriter())
using (var htmlWriter = new HtmlTextWriter(stringWriter))
{
// render the current page content to our temp writer
base.Render(htmlWriter);
htmlWriter.Close();
// get the content
content = stringWriter.ToString();
}
// replace our placeholders
string newContent = content.Replace("$placeholder1$", "placeholder1 data").Replace("$placeholder2$", "placeholder2 data");
// write the new html to the page
writer.Write(newContent);
}