ASP.net C#我正在使用Jquery新闻自动收录器,其中我从我的数据库中获取动态值。我已将db中的值从newsticker列表的`<OL>
中获取。现在,问题是,我无法将其嵌入我的网页中的正确位置。我有一个div div id="newsticker"
,其中应显示所有数据,但我在news_ticker()
类中从db检索的值不会显示在该div中。它们显示在页面顶部。
这是我的代码,
.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;
}
P.S。请注意,我在<ol>,
中使用简单的虚拟值尝试了此代码,并且它们在newsticker div中完美显示。但是当我使用数据库中的动态值时,它们不会显示在newsticker div中。我无法弄清楚我错过了什么?我尝试过很多东西,但现在我很茫然。善意帮忙?
P.p.s。我没有在这里包含jscript文件,因为它似乎工作正常。
答案 0 :(得分: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>
然后在Code中将数据表绑定为转发器的数据源
JobsRepeater.DataSource= dt;
JobsRepeater.DataBind();