我正在使用带有C#的asp.net。
我有一个adrotator,我通过数据库绑定。我在数据库表中有以下列
它正确绑定并显示数据,现在我想在adrotator右侧显示一个标签,显示AdDescription,但它只显示第一条记录。 我会尝试用代码解释你
private void GetPopUpData()
{
string conn = "Data Source=KKR;Initial Catalog=XYZ;Integrated Security=True";
SqlConnection Scon = new SqlConnection(conn);
Scon.Open();
SqlDataAdapter da = new SqlDataAdapter("Select * FROM tblAd", Scon);
DataSet ds = new DataSet();
da.Fill(ds);
AdRotator1.DataSource = ds.Tables[0];
AdRotator1.DataBind();
lblDesc.Text = ds.Tables[0].Rows[0]["AdDescription"].ToString();
}
protected void timer1_Tick(object sender, EventArgs e)
{
GetPopUpData();
}
请帮我在adrotator右侧显示文本数据,因为它只显示第一条记录的数据。可能是因为我使用了Rows[0]
。
提前致谢
答案 0 :(得分:0)
现在不在我的IDE之后,但是你可以使用ActiveRow或类似属性吗?
另外,如果addrotator后面的表格中的光标正在改变,你也可以挂钩数据事件而不是计时器或弹出窗口,这可能更清晰。
答案 1 :(得分:0)
private int counter = 0;
private void GetPopUpData()
{
string conn = "Data Source=KKR;Initial Catalog=XYZ;Integrated Security=True";
SqlConnection Scon = new SqlConnection(conn);
Scon.Open();
SqlDataAdapter da = new SqlDataAdapter("Select * FROM tblAd", Scon);
DataSet ds = new DataSet();
da.Fill(ds);
AdRotator1.DataSource = ds.Tables[0];
AdRotator1.DataBind();
lblDesc.Text = ds.Tables[0].Rows[counter]["AdDescription"].ToString();
counter++;
if ((counter + 1) == Tables[0].Rows.Count)
counter = 0;
}