2013-04-04 45 views
0

我已經創建了一個自定義Web控件,必須將其嵌入到SharePoint內部的頁面佈局中。 基本上,頁面佈局將僅用於帶有webforms的頁面,控件作爲一種導航菜單來跟蹤表單頁面的進度。網絡控件的陰影練習

現在,我知道該控件將永遠只聲明一次,它必須可以通過表單頁面訪問。而不是從表單頁面中查找父控件集合,我已經完成了這一步。

public static QuickNavigation Self 
    { 
     get 
     { 
      return System.Web.HttpContext.Current.Items["QuickNavigation"] as QuickNavigation; 
     } 
     private set 
     { 
      System.Web.HttpContext.Current.Items["QuickNavigation"] = value; 
     } 
    } 

    public QuickNavigation() 
    { 
     Self = this; 
    } 

要從窗體頁面訪問控件實例,我稱這個類爲唯一的靜態屬性。你如何看待這個問題,是否有更好的做法?

回答

1

它的工作原理,但我覺得需要引用控件在其他控件中有一些業務邏輯,這似乎很奇怪。

您是否考慮將您的代碼與業務控制器和單獨的UI視圖等服務分開。在這種情況下,您可以將所有UI視圖插入業務控制器,並且不需要任何控制來控制引用。 在這種情況下,分享你的狀態的最好的地方是Items集合,這樣你可以保持練習。