将数据提取到标签中 asp.net
fetch data into labels asp.net
这是我的历史页面:
隐藏代码:
public static string cs = "Server=PAULO;Database=ShoppingCartDB;Integrated Security=true";
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] +"'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
Label2.Text += Session["New"].ToString();
linkLogout.Visible = true;
//linkOrderHistory.Visible = true;
Label2.Visible = true;
linkViewProfile.Visible = true;
grid.DataSource = dt;
grid.DataBind();
}
}
}
private void CustomBindData()
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] + "'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
grid.DataSource = dt;
grid.DataBind();
}
当我点击 "view details" 时,它会显示:
我想要发生的是获取会话 ID 和 Id 并将其放入我的标签中。到目前为止我得到了这个:
string strConnString = "Data Source = 'PAULO'; Initial Catalog=ShoppingCartDB;Integrated Security =True";
string str;
SqlCommand com;
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(strConnString);
con.Open();
str = "select Id from CustomerDetails Where CustomerName = '"+Session["New"].ToString()+"'";
com = new SqlCommand(str, con);
SqlDataReader reader = com.ExecuteReader();
if (!IsPostBack)
{
reader.Read();
Label3.Text = reader["Id"].ToString();
Label2.Text = Session["New"].ToString();
会话正常 ("faufao"),并且在我的标签中有一些值(“13”):
但是当我尝试点击 Id 22 时,它仍然显示 Id 13?有什么技巧吗?
顺便说一句,这是我的数据库:
目前,我得到了这个:
我错过了什么?谢谢
str = "select Id from CustomerDetails Where CustomerName = '"+Session["New"].ToString()+"'";
此查询将 return 很多 id
。所以当你写 Label3.Text = reader["Id"].ToString()
时,它会 return 第一行 (13)
您首先阅读所有 id
并将它们放入列表并使用它们。
List<string> ListOfId = new List<string>();
While( reader.Read())
{
ListOfId.Add( reader["Id"].ToString());
}
更好的做法是使用 QueryString
获得 id
Label3.Text = Request.QueryString[0];
或
Label3.Text = Request.QueryString["Id"];
这是我的历史页面:
隐藏代码:
public static string cs = "Server=PAULO;Database=ShoppingCartDB;Integrated Security=true";
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] +"'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
Label2.Text += Session["New"].ToString();
linkLogout.Visible = true;
//linkOrderHistory.Visible = true;
Label2.Visible = true;
linkViewProfile.Visible = true;
grid.DataSource = dt;
grid.DataBind();
}
}
}
private void CustomBindData()
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] + "'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
grid.DataSource = dt;
grid.DataBind();
}
当我点击 "view details" 时,它会显示:
我想要发生的是获取会话 ID 和 Id 并将其放入我的标签中。到目前为止我得到了这个:
string strConnString = "Data Source = 'PAULO'; Initial Catalog=ShoppingCartDB;Integrated Security =True";
string str;
SqlCommand com;
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(strConnString);
con.Open();
str = "select Id from CustomerDetails Where CustomerName = '"+Session["New"].ToString()+"'";
com = new SqlCommand(str, con);
SqlDataReader reader = com.ExecuteReader();
if (!IsPostBack)
{
reader.Read();
Label3.Text = reader["Id"].ToString();
Label2.Text = Session["New"].ToString();
会话正常 ("faufao"),并且在我的标签中有一些值(“13”):
但是当我尝试点击 Id 22 时,它仍然显示 Id 13?有什么技巧吗?
顺便说一句,这是我的数据库:
目前,我得到了这个:
我错过了什么?谢谢
str = "select Id from CustomerDetails Where CustomerName = '"+Session["New"].ToString()+"'";
此查询将 return 很多 id
。所以当你写 Label3.Text = reader["Id"].ToString()
时,它会 return 第一行 (13)
您首先阅读所有 id
并将它们放入列表并使用它们。
List<string> ListOfId = new List<string>();
While( reader.Read())
{
ListOfId.Add( reader["Id"].ToString());
}
更好的做法是使用 QueryString
id
Label3.Text = Request.QueryString[0];
或
Label3.Text = Request.QueryString["Id"];