2010-09-25 40 views
0

我正在經歷的.NET問題斯科特的名單有一個場景 - 你正在查看一個ASP.NET應用程序,如果發現ViewState是存儲「ID」,在不同的頁面上用於不同的不相關目的。也許對於一個頁面中的PersonID,其他頁面上的productID等建議對視圖狀態濫用

您的建議是什麼?

回答

1

我沒有看到這個問題。每個頁面以及每個ViewState實例具有不同的上下文。沒有將一個頁面中的ViewState項目與另一個頁面中的ViewState項目連接起來,因此不會將它們混淆。在對頁面進行編碼時,'id'的性質應該是顯而易見的 - 它是一個人員ID,產品ID,客戶ID或其他。

+0

但是,它不是一個輕微的設計/架構問題,這可能會導致未來的維護難題? – 2010-09-26 01:36:14

+0

我不這麼認爲。我在我的urls中使用了類似的東西 - 我爲任何需要id的頁面使用標準的「item_id」參數。它使我的一些代碼更簡單(創建URL,從URL讀取ID,將ID存儲在ViewState中)。每個頁面都知道它期望的id的類型,並可以相應地表現出來。顯然,如果某個頁面需要多個ID來完成它的事情,每個頁面都需要一個不同的名字,但我沒有很多這樣的名字。 – Ray 2010-09-26 02:42:57