0

私はC#でasp.netを使用しています。

データベースを介してバインドしているアドロテーターがあります。データベーステーブルに次の列があります

  1. AdId
  2. AdTitle
  3. AlternativeText
  4. ImageUrl
  5. ナビゲートUrl
  6. AdDescription

正しくバインドされ、データが表示されています。アドローテーターの右側に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();
}

アドロテーターの右側にテキストデータを表示するのを手伝ってください。これは最初のレコードのデータのみを表示しているためです。使用したことが原因かもしれませんRows[0]

前もって感謝します

4

2 に答える 2

0

現在、私の IDE の背後にはありませんが、使用できる ActiveRow または同様のプロパティはありますか?

また、addrotator の背後にあるテーブルのカーソルが変化している場合は、タイマーやポップアップの代わりにデータ イベントにフックすることもできます。これにより、よりクリーンになる可能性があります。

于 2010-07-14T15:47:58.563 に答える
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;
}
于 2012-05-22T11:11:42.637 に答える