从页面中删除了一些html后的PageRequestManagerParserErrorException

时间:2012-03-05 07:44:50

标签: asp.net updatepanel

我想在页面渲染过程中从页面中删除一些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异常。如何在不收到错误的情况下实现我想要的结果?

1 个答案:

答案 0 :(得分:0)

解决方案是创建一个自定义控件,该控件在此示例中派生自GridView,并在此控件的Render方法中使用此代码,而不是在使用控件的页面上。