0

ASP.net C# データベースから動的な値を取得する Jquery ニュース ティッカーを使用しています。`<OL>データベースからnewsticker リストに値をフェッチしまし た。さて、問題は、これを Web ページの適切な場所に埋め込むことができないことです。すべてのデータを表示する必要があるdivがありますが、クラスdiv id="newsticker"の db から取得している値がその div に表示されません。news_ticker()それらはページの上部に表示されます。

これが私のコードです。

.cs ファイル:

protected void news_ticker()
{

    SqlConnection connection = ConnectionManager.getConnection();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = connection;

    cmd.CommandText = ("SELECT [job_title] FROM [job_post]");
    SqlDataAdapter da = new SqlDataAdapter();
    DataTable dt = new DataTable();
    da = new SqlDataAdapter(cmd);
    dt.Clear();
    da.Fill(dt);

    Response.Write("<ol id='sample' class='ticker'>");

    for (int i = 0; i < dt.Rows.Count - 1; i++)
    {

        Response.Write("<li><a href='#' class='read'>Read more</a>" + (dt.Rows[i][0]) + "</li>");

    }
    Response.Write("</ol>");


    connection.Close();

}

.aspx ファイル:

  <div id="newsticker">

<div class="pull-left">Latest News   <img src="../images/rss1.png" alt="rss" width="15" height="15" /> |</div>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
        SelectCommand="SELECT [job_title] FROM [job_post]"></asp:SqlDataSource>
    <br />    
  </div>

.css ファイル:

    .ticker {
margin: 0;
padding: 5px;
list-style-type: none;
/*border: 1px solid #ccc;*/
color:#F9A813;
       }
      .ticker li {
    line-height:1.5;
}

.ticker-active li {
    display:none;
    overflow:hidden;
    white-space:nowrap;
}
    .read{
float: right;
   }

   .pull-left{
float:left;
/*border-right: 1px solid #000000;*/
padding:8px;
color:#FFF;
    }



     #newsticker {
position: absolute;
left: 11px;
top: 400px;
width: 700px;
height: 39px;
z-index: 16;
visibility: visible;
    }

PS に単純なダミー値を使用してこのコードを試してみたところ<ol>,、newsticker div に完全に表示されていることに注意してください。しかし、データベースから動的な値を使用している場合、それらは newsticker div に表示されません。何が欠けているのかわかりませんか?私は多くのことを試しましたが、今は途方に暮れています。親切に助けて?

Pps正常に動作しているように見えるため、ここにはjscriptファイルを含めていません。

4

1 に答える 1

2

この場合、response.write を使用することはできません。このように ASPX にリピーター コントロールが必要です。

<asp:Repeater ID="JobsRepeater" runat="server">
    <HeaderTemplate>
        <ol id='sample' class='ticker'>
    </HeaderTemplate>
    <ItemTemplate>
        <li><a href='#' class='read'>Read more</a> <%#Eval("job_title")%> </li>
    </ItemTemplate>
    <FooterTemplate>
        </ol>
    </FooterTemplate>
</asp:Repeater>

次に、コードビハインドで、データテーブルをリピーターのデータソースとしてバインドします

JobsRepeater.DataSource= dt;
JobsRepeater.DataBind();
于 2013-08-31T09:36:28.870 に答える