我想在页面渲染过程中从页面中删除一些html(不要问为什么)。
protected override void Render(HtmlTextWriter writer)
{
MemoryStream memoryStream = new MemoryStream();
try
{
using (StreamWriter streamWriter = new StreamWriter(memoryStream))
{
var textWriter = new HtmlTextWriter(streamWriter);
base.Render(textWriter);
textWriter.Flush();
memoryStream.Position = 0;
using (StreamReader reader = new StreamReader(memoryStream))
{
var text = reader.ReadToEnd();
Regex r = new Regex("<option .+?</option>");
text = r.Replace(text, "");
writer.Write(text);
reader.Close();
}
}
}
catch (ObjectDisposedException)
{
}
finally
{
memoryStream.Dispose();
}
}
不幸的是,我从此页面上的更新面板中获得了PageRequestManagerParserErrorException异常。如何在不收到错误的情况下实现我想要的结果?
答案 0 :(得分:0)
解决方案是创建一个自定义控件,该控件在此示例中派生自GridView,并在此控件的Render方法中使用此代码,而不是在使用控件的页面上。