在response中有没有可以读取文件(象response.writefile()),但同时可以解析文件里面的脚本,脚本就像<%Response.Write("fasdfa")%>。  要求就是在response.writefile读出以后的字符是把文件里面的脚本执行完的字符,而不是把<% %>当成普通的字符。搜索了好长时间, 没有结果,  请问有什么方法可以替代妈?

解决方案 »

  1.   

    Control.Render 方法将服务器控件内容发送到提供的 HtmlTextWriter 对象,此对象编写将在客户端呈现的内容。
      

  2.   

    文件设计为用户控件,然后再页面中动态加载:LoadControl(path) ;
      

  3.   

    文件设计为用户控件,然后再页面中动态加载:void Page_Load(){string path ="";
    Control c = this.LoadControl(path) ;
    this.Controls.Add( c );
    }
      

  4.   

    我要实现的功能是让所有的.aspx文件被任意一个函数调用并解析, 同时.aspx文件里面的变量是从调用这个文件的那个函数传过来的.  任何一个函数都可以调用任意一个.aspx的模板文件. 任意一个.aspx的模板文件任意一个地方被调用并执行时. 返回的只是html字符流. 并起里面的逻辑都被执行过了, 如<%response.write(aa)%> (aa是一个变量,从调用它的那个地方传过来的).
    如果用用户控件方法的话, 不方便直接向被读取那个.ascs文件传递值.  如果用Server.Execute的话, 也不方便传递值过去.
    关于Control.Render, 我在网上找了一下, 还不是很明白, 请问谁有更详细的信息吗?
      

  5.   

    Server.Execute或自己发一个request,然后获取response
      

  6.   

    我要实现的功能是让所有的.aspx文件被任意一个函数调用并解析, 同时.aspx文件里面的变量是从调用这个文件的那个函数传过来的.  任何一个函数都可以调用任意一个.aspx的模板文件. 任意一个.aspx的模板文件任意一个地方被调用并执行时. 返回的只是html字符流. 并起里面的逻辑都被执行过了, 如<%response.write(aa)%> (aa是一个变量,从调用它的那个地方传过来的).
    ===============
    这不就是isapi吗?
      

  7.   

    或自己发一个request,然后获取response
    这个是怎么使用过了, 因为我是.net的新手,不是很清楚该怎么做。 能不能给个例子?isapi是可以实现这种功能, 但是我想在.net级别上实现。而不经过重写筛选器。
      

  8.   

    ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconhttphandlers.htm
      

  9.   

    使用HttpRequest或webClient对象打开网页,然后得到Response或DownloadData.