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