public partial class A2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            A1 cs = (A1)Context.Handler;
            Label1.Text = cs.Request.Form["TextBox1"];
        }
    }A1是另一个页面,但是看不懂(A1)Context.Handler;这段代码,IHttpHandler接口怎么能强制转换为A1呢?有知道的大侠希望能用最通俗易懂的话说明一下,先谢谢了。

解决方案 »

  1.   

    任何接口都是Object 当然可以。只不过根据代码,你可以指定左边为接口或者是具体实现接口的某个类。
    而在asp.net中 httpcontext是在页面加载就被实例化了的,所以可以强转过来。
      

  2.   

    如果还不懂的话你就只能回炉学学面向对象和httpcontext的具体应用了。
      

  3.   


    但是这个 Context.Handler  怎么就等于一个A1这个页面呢,Context.Handler还有A1这个页面表单里的数据
      

  4.   

    任何aspx页面都需要实现HttpContext的 否则你的session从何而来?request呢?response呢?建议看下java的servlet,仔细研究下你就应该能明白了。其实aspx就是将jsp页面的html和java脚本代码分开了。
    html放到了.aspx页面,java脚本代码放到了.cs文件 当你访问这个页面的时候,服务器会根据你请求的页面自动整合两个文件。jsp本身的解读就是类似于servlet的,也就是先解读java代码,再将html代码插入进去。具体的问题涉及的知识也不算少,好好看看相关的教程吧。
      

  5.   

    A1 继承于  UI.Page  而PAGE  继承了TemplateControl和IHttpHandler只要强转IHttpHandler 对像就能得到a1的实例
      

  6.   

    是的 单就代码论还是有问题。但是确实是可以自定义转过来。不过我不知道为什么,在asp.net板块看到的开发模式都是java php vb的方式,这样的话,asp.net的优势就没了啊,那还搞asp.net干嘛啊。