我有一个名为lblMessage的标签。消息的数据保存在SQL Server 2005数据库中。在我的表格中,我有一个消息ID,然后4个消息ID。消息1,消息2,消息3和消息4.每次用户刷新页面时需要旋转标签中的文本
我希望我的lblMessage每次用户刷新浏览器时都会经历一个循环,以便当他刷新一次后,下一条消息将成为消息2 ... .. 等等等等。
我会如何做到这一点在VB.NET或C#?
在此先感谢!
我有一个名为lblMessage的标签。消息的数据保存在SQL Server 2005数据库中。在我的表格中,我有一个消息ID,然后4个消息ID。消息1,消息2,消息3和消息4.每次用户刷新页面时需要旋转标签中的文本
我希望我的lblMessage每次用户刷新浏览器时都会经历一个循环,以便当他刷新一次后,下一条消息将成为消息2 ... .. 等等等等。
我会如何做到这一点在VB.NET或C#?
在此先感谢!
VB.NET
Private Shared messageNumber as Integer
Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Select Case messageNumber
Case 0
lblMessage.Text = MESSAGE_1
Case 1
lblMessage.Text = MESSAGE_2
Case 2
lblMessage.Text = MESSAGE_3
Case 3
lblMessage.Text = MESSAGE_4
End Select
messageNumber = (messageNumber + 1) Mod 4
End Sub
C#
private static int messageNumber;
public void Page_Load(object sender, System.EventArgs e)
{
switch (messageNumber) {
case 0:
lblMessage.Text = MESSAGE_1;
break;
case 1:
lblMessage.Text = MESSAGE_2;
break;
case 2:
lblMessage.Text = MESSAGE_3;
break;
case 3:
lblMessage.Text = MESSAGE_4;
break;
}
messageNumber = (messageNumber + 1) % 4;
}
你没有描述表模式在你的问题,所以我不知道你的消息表中包含什么除了消息ID和消息。如果你可以添加另一列,你可以把它称为序列,并使其成为一个tinyint。
现在,在获取消息时,您需要指定消息ID和序列号。
每次刷新时,都会增加序列号,并将其模数设为4(因此序列始终为0,1,2或3)。
类似:
sequence = sequence++ % 4;
lblMessage.Text = fetchMessage(MessageID, sequence);
和fetchMessage简单地执行查询:
Select message
From tbl_Messages
Where messageID = @messageID
and sequence = @sequence
谢谢,工作100%! – Etienne 2009-08-21 06:37:03