A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一片白 中级黑马   /  2014-4-30 15:08  /  1183 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 一片白 于 2014-5-4 16:10 编辑

请问 B/S系统页面传值的方式 有几种?它们分别是什么哦?

2 个回复

正序浏览
1.使用QueryString,  如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer
回复 使用道具 举报
同一页面.aspx与.aspx.cs之间参数传递
1. .aspx.cs接收.aspx的参数:由于.aspx和.aspx.cs为继承关系,所以.aspx.cs可以直接对.aspx中的ID进行值提取,具体语句为string b = a.text; 其中a为.aspx中的文本框的ID;
2. .aspx接收.aspx.cs的变量:将.aspx.cs的变量设为全局变量,在.aspx中直接引用<%=a %>,这里a为.aspx.cs
中声明的全局变量;
不同页面之间的参数传递
1.URL传递参数方法,有两种方法:

  第一种:
             send.aspx
             <a href=receive.aspx?a=b></a>
              
              receive.aspx.cs
              string c = Request.QueryString["a"];

  第二种:
             send.aspx.cs:
              protected void Button1_Click(object sender, EventArgs e)
             {
                  Request.Redirect("receive.aspx?a=b");
             }
            
             receive.aspx.cs:
             string username = Request.QueryString["username"];

2. Form表单POST方法
send.aspx
<form id="form1" runat="server" action="receive.aspx" method=post>
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" />
        <asp:TextBox ID="a" runat="server"></asp:TextBox>
   </div>
</form>
receive.aspx.cs
string b = Ruquest.Form["a"];
3.通过session方法传递参数
   优点: 1.使用简单,不仅能传递简单数据类型,还能传递对象。
             2.数据量大小是不限制的。
   缺点: 在Session变量存储大量的数据会消耗较多的服务器资源。
send.aspx.cs:
  protected void Button1_Click(object sender, EventArgs e)
    {
        Session["username"] = "a";
        Request.Redirect("receive.aspx");
    }
receive.aspx:
string username = Session["username"];

评分

参与人数 2技术分 +2 收起 理由
张旭辉 + 1
czwanglei + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马