网页间跳转

四种网页间跳转的方式

1、超链

2、Response.Redirect

3、Server.Transfer

4、PostBackUrl

http://localhost:2035/DataReceive.aspx?name=zhen&password=密码

创建页面    

 -  DataSend.aspx 添加超链接 链接地址:~/DataReceive.aspx?name=zhen&password=密码

 <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<asp:HyperLink runat="server" NavigateUrl="DataReceive.aspx?name=zhen&password=密码" Text="超链接查询字符串传递参数" title="123456"></asp:HyperLink>
<br/>
<a href="DataReceive.aspx" target="_blank">超链接</a>
<br/>
<a href="DataReceive.aspx?name=zhen&password=密码" title="传递参数">超链接查询字符串</a>

</asp:Content>

 - DataReceive.aspx
  添加:
 <asp:Panel ID="pnlReceive" runat="server" GroupingText="数据接收">

    <asp:Literal runat="server" ID="ltlName" Text="姓名"></asp:Literal>
    <asp:TextBox ID="tbxName" runat="server"></asp:TextBox>
    <br />
    <asp:Literal runat="server" ID="ltlPassword" Text="密码"></asp:Literal>
    <asp:TextBox ID="tbxPassword" runat="server"></asp:TextBox>

    </asp:Panel>

 - DataSend.aspx
 - 添加button 双击
<asp:Button runat="server" ID="btnRedirect" Text="Response.Redirect"
        οnclick="btnRedirect_Click" />

DataSend.aspx.cs
protected void btnRedirect_Click(object sender, EventArgs e)
        {
            Response.Redirect("DataReceive.aspx?name=zhen&password=密码");
        }

DataSend.aspx.cs
protected void btnRedirect_Click(object sender, EventArgs e)
        {
            string url =
            string.Format("DataReceive.aspx?name={0}&password={1}", HttpUtility.UrlEncode("name"), HttpUtility.UrlEncode("密码"));
            Response.Redirect(url);
        }

url  变量

DataReceive.aspx.cs
 protected void Page_Load(object sender, EventArgs e)
        {
            tbxName.Text = Request.QueryString["name"];
            tbxPassword.Text =Request.QueryString["password"];
        }

DataSend.aspx.cs
protected void btnRedirect_Click(object sender, EventArgs e)
        {
            string url =
            string.Format("DataReceive.aspx?name={0}&password={1}", HttpUtility.UrlEncode(tbxName.Text), HttpUtility.UrlEncode(tbxPassword.Text));
            Response.Redirect(url);
        }


把Panel 拷贝到DataSend.aspx 中 在button 前面加  </asp:Panel>
 

修改 DataReceive.aspx.cs
protected void Page_Load(object sender, EventArgs e)
        {
            string strName = Request.QueryString["name"];
            string strPassword = Request.QueryString["password"];

            VerifyUser(strName, strPassword);


            tbxName.Text = Request.QueryString["name"];
            tbxPassword.Text =Request.QueryString["password"];
        }
        bool VerifyUser(string name, string post)
        {
            //using System.Data.SqlClient;
            //using System.Web.Configuration;
            //利用 web.config 文件中保存的连接字符串,建立数据库连接
            using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["courseConnectionString"].ConnectionString))
            {
            //创建 数据命令对象 SqlCommand
                SqlCommand cmd = conn.CreateCommand();
               
                cmd.CommandText = "SELECT COUNT (姓名) FROM[用户]WHERE [姓名] = @name AND [密码] =@psd ";

                //添加参数信息  //using System.Data;
                cmd.Parameters.Add("@name",SqlDbType.NVarChar,10,name);
                cmd.Parameters.Add("@pwd",SqlDbType.NVarChar,10,name);
            }
            return false;
        }

添加
<asp:Literal runat="server" ID="ltlresult" Text="验证"/>
    <asp:TextBox ID="tbxResult" runat="server" Text="尚未验证"/>   
    <br />

到DataReceive.aspx <asp:Panel ID="pnlReceive" runat="server" GroupingText="数据接收">下面


改为:return true;

//一元操作符 "++","--","!"
//二元操作符 "+","+","-"
//三元操作符 "?;"
           
            string strName = Request.QueryString["name"];
            string strPassword = Request.QueryString["password"];
      后加
            //if (VerifyUser(strName, strPassword))
            //{
             //    tbxResult.Text = "通过验证";
            //}
            //else
            //{
            //    tbxResult.Text = "验证失败";
            //}           
        tbxResult.Text = VerifyUser(strName,strPassword)?"通过验证":"验证失败";


        protected void Page_Load(object sender, EventArgs e)
        {
            //调试
            //tbxName.Text = "zhen";
            //tbxPassword.Text = "123456";
        }

 
        protected void Page_Load(object sender, EventArgs e)
        {
            string strName = Request.QueryString["name"];
            string strPassword = Request.QueryString["password"];

            //if (VerifyUser(strName, strPassword))
            //{
            //    tbxResult.Text = "通过验证";
            //}
            //else
            //{
            //    tbxResult.Text = "验证失败";
            //}

            //一元操作符 "++","--","!"
            //二元操作符 "+","+","-"
            //三元操作符 "?;"
           tbxResult.Text = VerifyUser(strName,strPassword)?"通过验证":"验证失败";

            //VerifyUser(strName, strPassword);

            tbxName.Text = Request.QueryString["name"];
            tbxPassword.Text =Request.QueryString["password"];
        }
        bool VerifyUser(string name, string pass)
        {
            //using System.Data.SqlClient;
            //using System.Web.Configuration;
            //利用 web.config 文件中保存的连接字符串,建立数据库连接
            using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["courseConnectionString"].ConnectionString))
            {
            //创建 数据命令对象 SqlCommand
                SqlCommand cmd = conn.CreateCommand();
                //字符串拼接
                // cmd.CommandText = "SELECT COUNT (姓名) FROM [用户帐户] WHERE [姓名] = '"+ name +"' AND [密码] = '"+ pass + "'";          参数化查询参数//
                cmd.CommandText = "SELECT COUNT([姓名]) FROM [用户帐户] WHERE [姓名] = @name AND [密码] = @pwd ";

                //添加参数信息  //using System.Data;
                cmd.Parameters.Add("@name", SqlDbType.NVarChar, 10).Value = name ;
                cmd.Parameters.Add("@pwd", SqlDbType.NVarChar, 6).Value =pass;

                //打开数据连接
                conn.Open();

                // 读取数据
                object obj = cmd.ExecuteScalar();
                int count = Convert.ToInt32(obj);

                //if(count == 1)
                //{
                //    return true;
                //}

                //return true;

                return count == 1;
            }
           
        }

浏览:改用户名 密码  验证通过

服务器连接

用户账户 打开主表

柳文冰 123456
黃光曾 654321
王邦杰 234567
张硕毅 78901
陈兆钧 234891
廖慧容 110022
庞君勉 998877
杨芳生 090807
曾明杰 234598
李培俊 987856
杨秀蓉 102938
程景西 928374
姜守孟 345678
廖丽娜 123987
马旭初 289378
张修 676922
蔡佳玲 394856
张坤帆 928345
李邓美 123857
张凌凤 283756

转载于:https://www.cnblogs.com/aibei/archive/2012/04/20/2459693.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 370. 区间加法(差分思想)

文章目录1. 题目2. 解题1. 题目 假设你有一个长度为 n 的数组&#xff0c;初始情况下所有的数字均为 0&#xff0c;你将会被给出 k​​​​​​​ 个更新的操作。 其中&#xff0c;每个操作会被表示为一个三元组&#xff1a;[startIndex, endIndex, inc]&#xff0c;你需要将…

2018java多线程面试题_2018年最全Java面试通关秘籍汇总集!

此套面试题适用于Java开发的各个阶段面试&#xff0c;不过更偏向初级和中级开发人员&#xff01;由于每一个问题的答案不唯一且都可以在网上搜索到答案&#xff0c;这里只给出问题&#xff0c;不列出参考答案&#xff0c;有兴趣的可以留言讨论&#xff0c;也欢迎大家的补充&…

LeetCode 1256. 加密数字(bitset)

文章目录1. 题目2. 解题1. 题目 给你一个非负整数 num &#xff0c;返回它的「加密字符串」。 加密的过程是把一个整数用某个未知函数进行转化&#xff0c;你需要从下表推测出该转化函数&#xff1a; 示例 1&#xff1a; 输入&#xff1a;num 23 输出&#xff1a;"10…

《C语言程序设计》第三章练习与习题答案

[练3-1]不需要&#xff1b;因为已经涵盖了所有可能的条件。[练3-2]#include<stdio.h>int main(void){int y;double x;printf("Enter x:");scanf("%lf",&x);if(x<0)y-1;else if(x0)y0;elsey1;printf("ysign(%f)%d\n",x,y);return 0;…

java 调用js 解析yml_nodejs库yaml读取yml或yaml配置文件

最近在使用TypeScript编写后台接口时&#xff0c;需要读取yaml配置文件&#xff0c;使用到了yaml这个nodejs库&#xff0c;其npm官网地址为&#xff1a;https://www.npmjs.com/package/yaml&#xff0c;github源代码地址为&#xff1a;github.com/eemeli/yaml比如有如下的confi…

java执行程序默认多线程吗_Java多线程 执行程序(1)

本文由作者收集整理所得&#xff0c;作者不保证内容的正确行&#xff0c;转载请标明出处。作者&#xff1a;关新全Java多线程执行程序(1)1.1Thread类static Thread.currentThread返回当前正在执行的线程对象的引用。join 等待线程终止。yield 暂停当前正在执行的线程对象&#…

LeetCode 531. 孤独像素 I

文章目录1. 题目2. 解题1. 题目 给定一幅黑白像素组成的图像, 计算黑色孤独像素的数量。 图像由一个由‘B’和‘W’组成二维字符数组表示, ‘B’和‘W’分别代表黑色像素和白色像素。 黑色孤独像素指的是在同一行和同一列不存在其他黑色像素的黑色像素。 示例: 输入: [[W,…

SSL证书配置指南

http://verisign.itrus.com.cn/html/fuwuyuzhichi/fuwuqizhengshuanzhuangpeizhizhinan/转载于:https://www.cnblogs.com/freeman-rain/archive/2012/04/27/2472856.html

LeetCode 533. 孤独像素 II

文章目录1. 题目2. 解题1. 题目 给定一幅由黑色像素和白色像素组成的图像&#xff0c; 与一个正整数N, 找到位于某行 R 和某列 C 中且符合下列规则的黑色像素的数量: 行R 和列C都恰好包括N个黑色像素。列C中所有黑色像素所在的行必须和行R完全相同。 图像由一个由‘B’和‘W…

简单的数据查询

简单查询的构成&#xff1a;由SELECT 子名 FROM 表 WHERE条件 ORDER BY 排序组成. 练习&#xff1a; 1.查询所有Inter的CPUSELECT * FROM sheet1$ WHERE c_name LIKE intel% 2.查询价格在100-200之间的金士顿内存SELECT * FROM sheet1$ WHERE c_money BETWEEN 100 AND 200 GROU…

java数组显示最大值,java 如何用方法在数组中找到最大值并显示他的名称?

public static void sub(int racetime[], String name[]) {int maxIndex 0; // 记录racetime最大值的下标for (int i 1; i if (racetime[i] > racetime[maxIndex]) {maxIndex i;}}System.out.println("Racetime最大的是" name[maxIndex]);}追问如何将 main和s…

Windows 8桌面的尴尬

刚出炉的Windows8可谓荣宠极致&#xff0c;此时却被指出存在问题&#xff0c;面临失宠的尴尬。到底是什么问题呢&#xff1f; Windows 8中新的用户界面&#xff0c;已被完全证明是两级分化日益严重。  混合操作系统是一个新的GUI概念&#xff0c;友好地触摸界面接口&#xff…

LeetCode 1101. 彼此熟识的最早时间(排序+并查集)

文章目录1. 题目2. 解题1. 题目 在一个社交圈子当中&#xff0c;有 N 个人。每个人都有一个从 0 到 N-1 唯一的 id 编号。 我们有一份日志列表 logs&#xff0c;其中每条记录都包含一个非负整数的时间戳&#xff0c;以及分属两个人的不同 id&#xff0c;logs[i] [timestamp,…

php管道的概念,让你的php命令行程序处理管道数据

linux下有一个强大的命令|(管道提示符).它的作用是将前一个命令的结果交给后一条命令并作为后一条命令的输入.而linux下的大多数命令也都支持这种方式.可是当笔者写完一个php的命令行小程序以后,对于怎样获得前一个命令的结果却陷入了僵局.难道php不支持这样的操作?于是又开始…

【转载】世界各地对BI的应用状况

欧美企业对商务智能的应用 商务智能活动在美国和欧洲比在世界上任何其他地区都要发达&#xff0c;商务智能已经由“旁门左道”转变为“主门正道”。欧美的企业已经认识到商务智能的重要意义&#xff0c;因而对它寄予很高的期望&#xff0c;希望能够通过商务智能充分利用企业以往…

php gearman 扩展,Ubuntu 12.04 安装 gearman 以及php扩展安装脚本

#!/usr/bash#create by lhb#date 2014-05-07#desc install gearman and php extension for Ubuntu 12.04.4 LTS PHP 5.5apt-get update#安装依赖库apt-get install libboost-all-dev gperf libevent1-dev libcloog-ppl0mkdir -pv /home/lhb/software && cd /home/lhb/s…

LeetCode 379. 电话目录管理系统(哈希set)

文章目录1. 题目2. 解题1. 题目 设计一个电话目录管理系统&#xff0c;让它支持以下功能&#xff1a; get: 分配给用户一个未被使用的电话号码&#xff0c;获取失败请返回 -1check: 检查指定的电话号码是否被使用release: 释放掉一个电话号码&#xff0c;使其能够重新被分配 …

数据异构

当下数据系统纷杂&#xff0c;每个公司都可能有多种多样的系统&#xff0c;然而每个系统都可能有部分业务数据可供外部使用。然后&#xff0c;貌似总能听到这个系统与那个系统进行交互的时候&#xff0c;开发人员总是在激烈的讨论如何互相开放API接口。但是这样的API接口真的够…

php sem acquire,PHP | 关于php中sem_get failed for key no space left on device问题的解决方案...

有时我们在处理并发操作时会使用信号量做进程同步,如下一个php应用的例子$sem_id sem_get($id,1,0666,true);sem_acquire($sem_id);...sem_release($sem_id);我们release了资源,但是系统没有真正的释放资源 通过 [rootlocalhost ~]# ipcs -s------ Semaphore Arrays -------- …

LeetCode 250. 统计同值子树(递归)

文章目录1. 题目2. 解题1. 题目 给定一个二叉树&#xff0c;统计该二叉树数值相同的子树个数。 同值子树是指该子树的所有节点都拥有相同的数值。 示例&#xff1a; 输入: root [5,1,5,5,5,null,5]5/ \1 5/ \ \5 5 5 输出: 4来源&#xff1a;力扣&#xff08;LeetC…