zoukankan      html  css  js  c++  java
  • ASP.NET 窗体间传值实现方法详解

    假设ParentForm.aspx 页面上有TextBox1文本框和Open按钮
    点击Open按钮弹出SubForm.aspx,SubForm.aspx页面上有TextBox1文本框和Close按钮
    点击Close按钮关闭SubForm.aspx页面,并把子页面SubForm.aspx文本框的值显示到父页面ParentForm.aspx 的文本框上。

    父窗体前台代码:

     代码如下 复制代码
          <script type="text/javascript">
            function OpenSubForm(ret) {
                var strPath = "http://www.111Cn.NeT /subForm.aspx"
                var nHeight = 500
                var nWidth = 500
                var feature
                feature = "Height= " + nHeight + ",Width=" + nWidth + ",top=30,Left=30";
                feature += ",dependent=yes,location=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no;";
                window.open(strPath+"?Ret_Form=Form1&Ret_Value="+ret,'subForm',feature).focus();
                return false;
            }
        </script>

    父窗体后台代码:
     

     代码如下
    private void Page_Load(object sender, System.EventArgs e)
            {
                // ペ?ジを初期化するユ?ザ? コ?ドをここに?啡毪筏蓼?br />             this.Button1.Attributes.Add("onClick","return OpenSubForm('TextBox1');");
            }

    子窗体后台代码:
     

     代码如下

            private void Button1_Click(object sender, System.EventArgs e)
            {
                string strScript =string.Empty;
                string strRetForm = String.Empty;
                string strRetValue=String.Empty;
                strRetForm=Request.Params["Ret_Form"];
                strRetValue=Request.Params["Ret_Value"];
                if (strRetForm == string.Empty)
                {
                    strRetForm= "document.forms[0]";
                }
                strScript = "<script language=javascript>";
                strScript += "window.opener." + strRetForm;
                strScript += "." + strRetValue + ".value='" + this.TextBox1.Text.Trim() + "';";
                strScript += "window.close();";
                strScript += "</script>";
                Response.Write(strScript);
            }


     
     

    上面是js其实也就是页面传值了,下面我把一些页面传值的代码发给大家参考。

    页面间传值的几种方式 .

    下面的代码片断演示了如何实现这个方法:
      源页面WebForm1.aspx.cs中的部分代码:

     代码如下
    private void Button1_Click(object sender, System.EventArgs e)
    {
         string url;
         url="WebForm2.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;
         Response.Redirect(url);
    }
     目标页面WebForm2.aspx.cs中的部分代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
         Label1.Text=Request.QueryString["name"];
         Label2.Text=Request.QueryString["email"];
    }

    使用Session变量

     源页面WebForm1.aspx.cs中的部分代码:

     代码如下
    private void Button1_Click(object sender, System.EventArgs e)
    {
         //textbox1 and textbox2 are webform
         //controls
         Session["name"]=TextBox1.Text;
         Session["email"]=TextBox2.Text;
         Server.Transfer("WebForm2.aspx");
    }
     

      目标页面WebForm2.aspx.cs中的部分代码:

     代码如下
    private void Page_Load(object sender, System.EventArgs e)
    {
         Label1.Text=Session["name"].ToString();
         Label2.Text=Session["email"].ToString();
         Session.Remove("name");
         Session.Remove("email");
    }

    上面两种是常用的其它的就不介绍了,大家可自行去参考

    佛为心,道为骨,儒为表,大度看世界; 技在手,能在身,思在脑,从容过生活; 三千年读史,不外功名利禄; 九万里悟道,终归诗酒田园;
  • 相关阅读:
    【秒懂音视频开发】03_重识音频
    【秒懂音视频开发】02_重识声音
    【秒懂音视频开发】01_移动通信技术的发展
    [mysql]错误解决之"Failed to start MySQL Server"
    Ubuntu 将Python从默认的2.7升级到3.* 版本
    宝塔面板后台设置免费SSL证书Let's Encrypt(三)
    Let's Encrypt 证书申请及配置(二)
    快速签发 Let's Encrypt 证书指南(一)
    DJANGO中多种重定向方法使用
    反解法|逆向思维
  • 原文地址:https://www.cnblogs.com/taofx/p/4137202.html
Copyright © 2011-2022 走看看