我有一个名为lblMessage的标签。消息的数据保存在SQL Server 2005 DB中。在我的表中,我有一个消息ID,然后是4行,带有我的消息ID。消息1,消息2,消息3和消息4.
我希望每次用户刷新浏览器时我的lblMessage都会经历一个循环,这样当他刷新它时,下一条消息将是Message 2 .....依旧等等。
我将如何在VB.NET或C#中执行此操作?
提前致谢!
答案 0 :(得分:2)
<强> 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;
}
答案 1 :(得分:1)
您没有在问题中描述表架构,因此我不知道您的消息表是否包含除消息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