我用Server.Transfer()来做页面间传值,为什么在目标页创建不了原窗体的实例呢?但我重新建了两个页面用来测试这种方法是可以的,
不知出现了什么问题了??

解决方案 »

  1.   

    贴代码
    http://www.cnblogs.com/lovecherry/archive/2005/03/25/125514.html
      

  2.   

    WebForm2 str;
    str=(WebForm2)Context.Handler;
    Response.Write(str.str);
    Response.End();
    ///////////////////////////////////
    index str;
    str=(index)Context.Handler;
    Response.Write(str.serchstr);
    Response.End();上面这两句同什么分别的吧?只是原窗体不同,一些参数不同罢了,道是一样的,
    就是不知道为什么第二个是创建不了,窗体实例。             请大家帮帮忙。
      

  3.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    Server.Transfer("WebForm3.aspx");
    }

    public string serchstr
    {
    get 
    {
    return this.serchuser.Text;
    }
    }
    这个是我拿来测试的,WebForm2,是可以的
    index窗体里的代码和上面的一个样的。
    不知道为咋,就是不行
      

  4.   

    WebForm2 str;好像在ASP+里没有这样的用法。不能像应用程序开发那样,可以创建窗口实例
      

  5.   

    请参照下面的程序,注意页面名称之间的变化与联系.inf_content_view.aspx
    /// <summary>
    /// 用户名
    /// </summary>
    public string strText
    {
    get
    {
    return(this.txtsearch.Text);
    }
    }/// <summary>
    /// 输入密码
    /// </summary>
    public string strType
    {
    get
    {
    return(this.listsearch.Text);
    }
    }/// <summary>
    /// 搜索
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void butsearch_Click(object sender, System.EventArgs e)
    {
    this.Server.Transfer("inf_content_list.aspx");
    }
    inf_content_list.aspx
    接收页面里面的语句可写在page_load里面//查看有无从inf_content_view页面转来的搜索对象
    string strname = Context.Handler.ToString().ToLower();
    if( strname == "asp.inf_content_view_aspx")
    {
    jlzx.inf.page.inf_content_view myform = new  inf_content_view();
    myform = (jlzx.inf.page.inf_content_view)Context.Handler;
    this.txtsearch.Text = myform.strText;
    this.listsearch.Text = myform.strType;
    }
      

  6.   

    to: wanna51(wanna)
    是可以的,我已解决。
    同时谢谢各位。