set.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_02.aspx.cs" Inherits="Sample_02" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<form id="form1" runat="server">
<h3>QueryString传值</h3>
<p><span class="spMemo">静态超链接传值:</span>
<a href="Sample_02_targ.aspx?id=12345">ID=12345</a>
<p><span class ="spMemo">获取txt_name控件的值,通过Response.Redirect转向并传值:</span><br />
<asp:TextBox ID="txt_name" runat="server"></asp:TextBox>
<asp:Button ID="btn_name" runat="server" Text="传递name"
οnclick="btn_name_Click" />
<p><span class="spMemo">获取checkbox的值,并通过Server.Transfer转向并传至:(AutoPostBack)</span><br />
<asp:CheckBox ID="chk_1" runat="server" Text="传递是否选中" AutoPostBack="True"
oncheckedchanged="chk_1_CheckedChanged" />
<p><span class ="spMemo">一次性传递多个值:</span>
<asp:DropDownList ID="ddl_soft" runat="server">
<asp:ListItem>ASP.NET</asp:ListItem>
<asp:ListItem>JavaScript</asp:ListItem>
<asp:ListItem>CSS</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddl_website" runat="server">
<asp:ListItem>百度</asp:ListItem>
<asp:ListItem>google</asp:ListItem>
<asp:ListItem>163</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btn_muilt" runat="server" Text="Button"
οnclick="btn_muilt_Click" />
</form>
</body>
</html>
设计图如下:
set.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Sample_02 : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
protected void chk_1_CheckedChanged(object sender, EventArgs e)
string _checked = chk_1.Checked.ToString();
string _url = "Sample_02_targ.aspx?chk=" + _checked;
Server.Transfer(_url);
protected void btn_name_Click(object sender, EventArgs e)
string _name = txt_name.Text;
string _url = "Sample_02_targ.aspx?name=" + _name;
Response.Redirect(_url);
protected void btn_muilt_Click(object sender, EventArgs e)
string _soft = ddl_soft.Text, _website = ddl_website.Text;
//string _url = "Sample_02_targ.aspx?soft=" + _soft + "&website=" + _website;
string _url = "Sample_02_targ.aspx?soft="+_soft+"&website="+_website;
Response.Redirect(_url);
read.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_02_targ.aspx.cs" Inherits="Sample_02_targ" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<form id="form1" runat="server">
<h3>QueryString传值,接收值页面</h3>
<p>接收ID值,赋值给LABEL:
<asp:Label ID="lab_id" runat="server" ></asp:Label>
<p>接收name值,赋值给LABEL:
<asp:Label ID="lab_name" runat="server" ></asp:Label>
<p>接收chk值,赋值给LABEL:
<asp:Label ID="lab_chk" runat="server" ></asp:Label>
<p>接收SOFT和WEBSITE值,赋值给LABEL:
<asp:Label ID="lab_soft" runat="server" ></asp:Label>,
<asp:Label ID="lab_website" runat="server" ></asp:Label>
</form>
</body>
</html>
设计图如下:
read.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Sample_02_targ : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
//在PageLoad中接收传递来的值
//接收ID值
//当没有参数时QueryString["id"] == null
lab_id.Text = Request.QueryString["id"];
//接收NAME值
lab_name.Text = Request.QueryString["name"];
//接收CHK值
lab_chk.Text = Request.QueryString["chk"];
//接收soft,website值,采用简略的写法
lab_soft.Text = Request["soft"];
lab_website.Text = Request["website"];
下面我们创建两个页面测试QueryString 页面间的传值。set.aspx代码如下: QueryString传值 静态超链接传值: ID=12345 获取txt_name控件的值,通过Response.Redirect转向并传值:
request.params其实是一个集合,它依次包括request.querystring、request.form、request.cookies和request.servervariables。 如果要在两个页面传递数据的话,只能用request.querystring、request.form、request.cookies Request.Params 是在 QueryString、Form、Server Variable 以及 Cookies 找数据, 他首先在 QueryString 集合查找数据,如果在 QueryString 找到数据,就返回数据,如果没有找到就去 Form
QueryString
Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL。如果要从A页面跳转到B页面,则可以用Request.Redirect(”B.aspx?参数名=参数值”);在页面跳转后用Ruquest[“参数名”]来接收参数。这种方法使用简单,不用服务器资源。但是很容易被篡改且不能传递对象,只有在通过URL 请求页时查询字符串才是可行的。
这种方法的优点...
ASP.NET跨页面传值
跨页面传值是学习asp.net初期都会遇到的的一个问题,但总结下来,跨页面传值常用的有QueryString,Session,Cookies,Application等几种。
那么现在就简单说下第一种方法——QueryString ( Request/Response)。
QueryString
QueryString...
// 从问号之后的字符串开始,截取查询字符串
var queryString = url.substring(index + 1);
// 将查询字符串分割成一个数组,每个元素都是一个参数
var queryParams = queryString.split('&');
// 遍历参数数组,将每个参数转换为对象的属性
var result = {};
for (var i = 0; i < queryParams.length; i++) {
var param = queryParams[i].split('=');
var key = decodeURIComponent(param[0]);
var value = decodeURIComponent(param[1]);
result[key] = value;
// 返回包含所有参数的对象
return result;
该函数的工作原理如下:
1. 首先获取当前页面的URL。
2. 查找URL中的问号,以确定是否有查询字符串参数。
3. 如果没有查询字符串参数,则返回空对象。
4. 如果有查询字符串参数,则从问号之后的字符串开始截取。
5. 将查询字符串分割成一个数组,每个元素都是一个参数。
6. 遍历参数数组,将每个参数转换为对象的属性。
7. 返回包含所有参数的对象。
例如,如果当前页面的URL是 `https://example.com/?name=John&age=30`,则调用 `getquerystring()` 函数将返回以下对象:
name: "John",
age: "30"
该对象包含两个属性,`name` 和 `age`,它们分别对应查询字符串参数中的键和值。
Android错误之(Android 6.0)Unable to add window android.view.ViewRootImpl$W@d4521e8 -- permission denied
30603