2014-01-30 51 views
0

我不知道搜索什麼的找信息在此所以在這裏我們去的時候...添加一個彈出框,爲每個用戶/ IP看到的只是1次

我最近發改變了我的MVC網站(所有的代碼部分都是VB,而不是像C#中的大多數例子)。 一旦用戶登錄,是否有辦法向用戶顯示一個彈出框或div,它只是解釋所做的更改(框中的文本不重要)。 我只想讓用戶看到這一次! 例如: 只要用戶轉到URL,他們會看到一個彈出框,提示「您現在必須在創建新帖子時添加您的名字」 但當然,用戶不希望看到這個EVERY他們登錄到該頁面。

任何指針都可愛, 乾杯。

回答

1

您需要以某種方式跟蹤用戶已看到該消息。如果有可能會有未來這樣的消息,也許跟蹤用戶看到消息時的任何價值等,那麼這可以被放入一個相當簡單的數據庫結構。

也許信息的查找表:

ID | Message 
------------- 
1 | "This is the text of the message, or maybe the whole HTML, or some other data, it's up to you." 
2 | "Other message, etc." 

和表格來鏈接到用戶:

UserID | MessageID | DisplayedOn 
-------------------------------- 
123 | 1   | 2014-01-30 08:56:21 

你甚至可以讓消息更加「互動」,並有「接受」或「我瞭解」按鈕,要求用戶接受該消息或再次看到它,直到他們這樣做。對於類似的情況,您可以將DisplayedOn更改爲FirstDisplayedOn(可能包括LastDisplayedOn?),也可以更改AcceptedOn以跟蹤該交互。例如,這對於更新服務條款可能非常有用。

然後,當用戶登錄時,當您從數據庫中獲取整個用戶上下文/對象時,您將包括他們需要查看,尚未看到,尚未接受的消息等。您的UI可以然後根據它顯示任何需要顯示的內容。

+0

感謝兩位回答問題的解決方案,這是我在發佈問題之前想到的一種方法。理想情況下,我不想編輯已經設置的表格,但我想可能沒有更簡單的方法。再次感謝! – Cal

1

由於您只想在用戶登錄後才顯示彈出窗口,您需要存儲關於誰看到了此彈出窗口的信息。我猜你已經擁有數據庫和數據訪問層了。所以,你需要添加一個新的表列如下:

Id | UserId | PopupId | ShownOn 

之前顯示彈出需要查詢這個表,看是否用戶已經看到了。如果沒有,只需顯示彈出框並在數據表中插入一條新記錄。

由於我們不知道您如何訪問您的數據,因此無法給出更精確的解決方案。

+0

請參閱我對上述答案的評論,謝謝:) – Cal

相關問題