Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Cookies将自动清空_C#_Asp.net_Sql Server_Web - Fatal编程技术网

C# Cookies将自动清空

C# Cookies将自动清空,c#,asp.net,sql-server,web,C#,Asp.net,Sql Server,Web,我有一个名为empid的cookies,它存储了我将要使用的员工的id。但是,每当我尝试获取任何cookie的值时,它的值都会自动设置为null,并且该代码来自由page继承的分部类。如果我想创建一个包含所有数据库相关代码的类,并希望在每个页面中使用它,该怎么办 protected void Page_Load(object sender, EventArgs e) { using (SqlConnection cn = new SqlConnection(ConfigurationMa

我有一个名为empid的cookies,它存储了我将要使用的员工的id。但是,每当我尝试获取任何cookie的值时,它的值都会自动设置为null,并且该代码来自由page继承的分部类。如果我想创建一个包含所有数据库相关代码的类,并希望在每个页面中使用它,该怎么办

protected void Page_Load(object sender, EventArgs e)
{
    using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyDbConn"].ToString()))
    {

        using (SqlCommand cmd = new SqlCommand())
        {
            try
            {

                cn.Open();
                SqlDataReader conReader;
                conReader = null;
                mycomment.Text = Response.Cookies["empid"].Value;
                // cmd.CommandText = "Select * from comments where c_from = " + Response.Cookies["cid"] + " and c_to = "+ Response.Cookies["empid"].ToString();
                cmd.Connection = cn;
                mycomment.Text = cmd.CommandText;
                cmd.CommandType = CommandType.Text;
                conReader = cmd.ExecuteReader();

                while (conReader.Read())
                {
                    mycomment.Text += conReader[3].ToString();

                }

            }

            catch (Exception ex)
            {
                Console.Write(ex);
            }
            finally
            {
                cn.Close();
            }

        }
    }
}

您正在从
响应
对象获取cookie,该对象是传出cookie集,而不是
请求
对象,该对象是来自客户端的cookie集

将其更改为
mycomment.Text=this.Request.Cookies[“empid”].Value

我还看到,您正在使用字符串连接来生成SQL命令,而无需任何处理永远不要这样做。而是使用参数:

cmd.CommandText = "SELECT * FROM comments WHERE c_from = @from AND c_to = @to";
cmd.Parameters.AddWithValue("@from", this.Request.Cookies["cid"].Value);
cmd.Parameters.AddWithValue("@to"  , this.Request.Cookies["empid"].Value);