我有一个问题需要解释一下,所以我会尽量说清楚。我正在处理一些网页。一个 (CustomerListPage) 我通过 GridView 拉出一个客户列表。我使这些行可点击,以便选择客户本身就是到下一页的链接。一旦用户点击了一个客户,它会将他们带到下一页(CustomerUsePage)。此页面假设显示在我创建的其中一个标签中单击的客户姓名,以及其余标签中的一些其他信息(客户 ID、街道、城市等)。这是我的 CustomerListPage 上的代码:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = GridView1.SelectedRow;
if (GridView1.SelectedRow.RowIndex == 0)
{
//string selectedUser = GridView1.SelectedRow.Cells[0].ToString();
Response.Redirect("CustomerUsePage.aspx?Customer_ID=" );
BindGridview();
}
if (GridView1.SelectedRow.RowIndex == 3)
{
//string selectedUser = GridView1.SelectedRow.Cells[0].ToString();
Response.Redirect("CustomerUsePage.aspx?Customer_ID=");
BindGridview();
}
}
这是 CustomerUsePage 上的代码:
protected void Page_Load(object sender, EventArgs e)
{
string v = Request.QueryString["Customer_ID"];
Response.Write(v);
if (!IsPostBack)
{
BindControlvalues();
}
}
private void BindControlvalues()
{
con.Open();
SqlCommand cmd = new SqlCommand(" sql query ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
con.Close();
DataSet ds = new DataSet();
da.Fill(ds);
Label5.Text = ds.Tables[0].Rows[3][8].ToString();
Label4.Text = ds.Tables[0].Rows[3][0].ToString();
Label1.Text = ds.Tables[0].Rows[3][1].ToString();
Label2.Text = ds.Tables[0].Rows[3][3].ToString();
Label3.Text = ds.Tables[0].Rows[3][5].ToString();
}
正如所见,我通过索引这些数据来用从我的查询中收到的数据填充我的标签。我想摆脱这种情况并使用更有效的方法,但它现在有效。更重要的是,有没有办法根据我点击的客户来填充我的标签?现在点击任何客户都会产生相同的结果。我在想一些类似的东西:“如果选定的行索引 = 0”,但我知道这不起作用,因为此页面不存在 GridView。但是,逻辑是我想要的。有什么帮助吗?谢谢。