2013-08-31 63 views
0

ASP.net C#我正在使用Jquery新聞自動收報器,其中我從我的數據庫中獲取動態值。我已經從db中將值提取到了newsticker列表的`<OL>。現在,問題是,我無法在正確的位置將其嵌入到我的網頁中。我有一個div,div id="newsticker"其中應顯示所有數據,但我在我的news_ticker()類中從db中檢索的值不顯示在該div中。它們顯示在頁面的頂部。ASP.net C#從response.write()沒有顯示我想要的文本

這裏是我的代碼,

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

附:請注意,我已經在<ol>,中用簡單的虛擬值對此代碼進行了嘗試,並且它們在newsticker div中完美顯示。但是,當我使用數據庫的動態值,他們沒有顯示在newsticker div。我無法弄清楚我失蹤了什麼?我已經嘗試了很多東西,但現在我失去了。請幫忙?

P.p.s.我沒有在這裏包含jscript文件,因爲它似乎工作正常。

回答

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(); 
+1

非常感謝,這不僅解決了我的問題,而且也清除了我的概念。 –

相關問題