2009-08-20 28 views
0

我有一個名爲lblMessage的標籤。消息的數據保存在SQL Server 2005數據庫中。在我的表格中,我有一個消息ID,然後4個消息ID。消息1,消息2,消息3和消息4.每次用戶刷新頁面時需要旋轉標籤中的文本

我希望我的lblMessage每次用戶刷新瀏覽器時都會經歷一個循環,以便當他刷新一次後,下一條消息將成爲消息2 ... .. 等等等等。

我會如何做到這一點在VB.NET或C#?

在此先感謝!

回答

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

謝謝,工作100%! – Etienne 2009-08-21 06:37:03

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