使用adrotator控件显示数据

时间:2010-07-14 14:59:10

标签: asp.net sql-server adrotator

我正在使用带有C#的asp.net。

我有一个adrotator,我通过数据库绑定。我在数据库表中有以下列

  1. AdId
  2. AdTitle
  3. AlternateText
  4. 的ImageUrl
  5. NavigateUrl
  6. AdDescription
  7. 它正确绑定并显示数据,现在我想在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]

    提前致谢

2 个答案:

答案 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;
}