在c#中连续运行页面内的所有代码(使用Visual Studio)

本文关键字:代码 使用 Visual Studio 连续 运行 | 更新日期: 2023-09-27 18:09:47

我在网页webform1.aspx上有控件txtUsertxtAppNum的值。我把这些价值带到一个页面,Login.aspx。来自Login的代码。Aspx在下面。在login.aspx页中,我想从webform1.aspx页中的控件txtUsertxtAppNum中获取值,我想检查数据库中的值,如果值在数据库中,我希望页面重定向回webform1.aspx

我的问题是,当我运行代码时,只有Page_Load而不是CheckRecord。基本上,当我运行页面时,我可以看到从webform1.aspx页面转移到login.aspx的值,但仅此而已,没有其他任何事情发生。

我做错了什么?任何想法,我将非常感激它,我已经被困在这个几天。谢谢!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient; //to communicate with the Server database
using System.Configuration;
using System.Data; //to use DataSet or DataTable
using System.Text; //for StringBuilder
namespace BLAA_3
{
    public partial class login : System.Web.UI.Page
    {
        public void Page_Load(object sender, EventArgs e)
        {
            Page PreviousPage = Page.PreviousPage;
            if (PreviousPage != null)
            {
                lblUserLogin.Text = ((TextBox)PreviousPage.FindControl("txtUser")).Text;
                lblAppLogin.Text = ((TextBox)PreviousPage.FindControl("txtAppNum")).Text;
            }
            {
                string _connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
            }
        }

        public void CheckRecord(object sender, EventArgs e)
        {
            //get the connection
            using (SqlConnection conn = new SqlConnection(@"Data Source=ServerInfo"))
            {
                //write the sql statement to execute
                string sql = "select username FROM BLAA_users WHERE username = @username";
                //instantiate the command object to fire
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    //attatch the parameter to pass, if no parameter is in the sql no need to attatch
                    SqlParameter[] prms = new SqlParameter[1];
                    prms[0] = new SqlParameter("@username", SqlDbType.VarChar, 50);
                    prms[0].Value = lblUserLogin.Text.Trim();
                    cmd.Parameters.AddRange(prms);
                    conn.Open();
                    object obj = cmd.ExecuteScalar();
                    conn.Close();
                    if (obj != null)
                    {
                        Response.Redirect("~/WebForm1.aspx");
                    }
                    else
                        Response.Redirect("http://www.google.com");
                }
        }
        }
    }
}

在c#中连续运行页面内的所有代码(使用Visual Studio)

CheckRecord是事件处理程序吗?如果没有,您不需要在CheckRecord的签名中使用sendereventArgs,它可以是public void CheckRecord()

没有被调用是因为你的load事件没有调用它。因此,在Page_Load函数中。

    public void Page_Load(object sender, EventArgs e)
    {
        Page PreviousPage = Page.PreviousPage;
        if (PreviousPage != null)
        {
            lblUserLogin.Text = ((TextBox)PreviousPage.FindControl("txtUser")).Text;
            lblAppLogin.Text = ((TextBox)PreviousPage.FindControl("txtAppNum")).Text;
        }
        {
            string _connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
        }
        CheckRecord();
    }
    public void CheckRecord()
    {
        //get the connection
        using (SqlConnection conn = new SqlConnection(@"Data Source=ServerInfo"))
        {
            //write the sql statement to execute
            string sql = "select username FROM BLAA_users WHERE username = @username";
            //instantiate the command object to fire
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                //attatch the parameter to pass, if no parameter is in the sql no need to attatch
                SqlParameter[] prms = new SqlParameter[1];
                prms[0] = new SqlParameter("@username", SqlDbType.VarChar, 50);
                prms[0].Value = lblUserLogin.Text.Trim();
                cmd.Parameters.AddRange(prms);
                conn.Open();
                object obj = cmd.ExecuteScalar();
                conn.Close();
                if (obj != null)
                {
                    Response.Redirect("~/WebForm1.aspx");
                }
                else
                    Response.Redirect("http://www.google.com");
            }
        }
    }