2013-10-21 120 views
0

在我的asp.net應用mvc4我允許管理員更改各種站點範圍,如網站的標題,有特色的電影,類別,顏色方案等保存站點級設置

如何保存這些變化?我應該在數據庫中創建一行,包括每個設置作爲列還是?

如果是這樣,每次我想顯示該網站,我當然需要該網站的標題 - 然後我必須每次查詢數據庫檢索標題?

+0

您可以使用會話來存儲將在所有頁面上使用的網站標題和其他數據 –

回答

1

這樣做的兩種可能方法是在會話中或在數據庫中按照您的建議。

Session: 如果此信息不能永久保存,您可以將它存儲在服務器端的會話中。根據您設置的策略,用戶退出瀏覽器後信息會消失,這可能不是您想要的。

數據庫: 您可以將每個用戶(userId,設置)的所有信息存儲在單行中。這些設置可以存儲爲xml等爲像這樣一個字符串:

<settings> 
    <title>...</title> 
    <featuredmovies> 
     <movie>...</movie> 
    </featuredmovies> 
    ... 
</settings> 

您必須查詢數據庫,但它是一個非常便宜的查詢作爲你唯一的選擇基於用戶ID。您也可以將信息存儲在會話中,一次只檢索一次,只有在用戶更改其設置時更新。這意味着您以後每次需要的設置信息都可以從會話中獲得,而不是數據庫非常快。

編輯:然後,你會解析XML到你想要的設置服務器端。

+0

好吧謝謝 - 我會這樣做:) –