我正在开发Visual Studio 2010和SQL Server 2008 我想创建一个应用程序,我的Gridview应该更改数据(显示在网站中) 关于时间
意味着说
col1 | col2
name1 | age1
name2 | age2
name3 | age3
after 10 sec say
col1 | col2
name4 | age4
name5 | age5
name6 | age6
任何人都可以帮助我吗?
答案 0 :(得分:2)
最简单的方法是使用ASP.NET AJAX计时器控件:http://ajax.net-tutorials.com/controls/timer-control/ 10秒后,tick事件将触发,您可以将所有内容包装在UpdatePanel中,以便为用户提供完整的AJAX感觉。
HTH。
答案 1 :(得分:1)
使用Comet:Comet是一种Web应用程序模型,其中长时间持有的HTTP请求允许Web服务器将数据推送到浏览器,而浏览器没有明确请求它。
Creating Comet applications with ASP.NET
Scalable COMET Combined with ASP.NET
此代码未准备好生产;它 旨在演示一个 使用COMET的理论解决方案 ASP.NET。本文涵盖了 COMET的服务器端实现 以及如何对抗可扩展性 问题。演示客户端 代码,我会发布一篇较小的文章 很快就证明了这一点 使用COMET的tic-tac-toe游戏 我提到的线程池机制 下面,这应该给你一些想法 关于在现实世界中使用它 应用
ASP.NET and Comet: Bringing Sockets Back
ASP.NET Comet Library
答案 2 :(得分:1)
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" OnTick="UpdateTimer_Tick" Interval="5000">
</asp:Timer>
<Triggers>
<asp:AsyncPostBackTrigger controlid="Timer1" eventname="Tick" />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="1"
EnableModelValidation="True" AutoGenerateColumns="False">
<PagerSettings Visible="False" />
<columns>
<asp:ImageField DataImageUrlField="Image" >
<ControlStyle Height="500px" Width="860px" />
</asp:ImageField>
</columns>
</asp:GridView>
<br />
</Triggers>
</ContentTemplate>
</asp:UpdatePanel>
website1.aspx.cs
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
LoadData();
}
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
int pagecount = GridView1.PageCount;
int pageIndex = GridView1.PageIndex;
if (pageIndex != pagecount)
{
GridView1.PageIndex = pageIndex + 1;
LoadData();
Label1.Text = "" + GridView1.PageIndex++;
}
if (pageIndex == pagecount-1)
{
pageIndex = pageIndex - pagecount;
GridView1.PageIndex = pageIndex + 1;
LoadData();
Label1.Text = "" + GridView1.PageIndex++;
}
}
private void LoadData()
{
using (SqlConnection connection = new SqlConnection("Data Source=CJ-PC\\SQLEXPRESS;Initial Catalog=Online_Interaction;Integrated Security=True"))
{
using (SqlCommand command = new SqlCommand("Select [Image] from Picture_album", connection))
{
using (SqlDataAdapter da = new SqlDataAdapter(command))
{
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
Thanx帮助stackoverflow