网页间跳转

四种网页间跳转的方式

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"
        onclick="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

posted @ 2012-04-20 18:03  珍爱贝贝1314  阅读(425)  评论(0编辑  收藏  举报