代码之家  ›  专栏  ›  技术社区  ›  Paul

重写ASP.NET页面输出

  •  1
  • Paul  · 技术社区  · 17 年前

    我希望能够处理页面请求的输出,以便使用自己的会话信息修改响应中的内部链接。我读到有一个ISAPI过滤器允许ASP.NET之前的无Cookie会话。这基本上就是我想要构建的,就在应用程序内部。

    谢谢

    2 回复  |  直到 17 年前
        1
  •  1
  •   John Saunders    17 年前

    考虑为此使用HttpModule。您可以在退出时处理整个响应。

    您可能还可以使用基类执行某些操作—可能会在PreRenderComplete事件中遍历所有可能包含链接的服务器端控件。这对HTML没有帮助 <A> 但是,标签。

        2
  •  1
  •   hugoware    17 年前

    1. 为Response.Filter创建自定义筛选器。或多或少,您创建了一个流,在将其发送到底层流(允许您在其中进行更改)之前,您可以运行所有内容。

    2. 覆盖页面的呈现事件,将所有内容写入字符串,然后在其中进行更改。。。例如

    .

    //this is from memory, you might need to check it
    override void Render(HtmlTextWriter writer) {
    
    StringWriter html = new StringWriter();
    HtmlTextWriter render = new HtmlTextWriter(html);
    base.Render(render);
    string output = html.ToString()
    
    //make your changes to output
    //output = ???
    
    writer.Write(output);
    
    }
    
    推荐文章