簡體   English   中英

根據許可證類型啟用/禁用控件

[英]Enabling/Disabling controls according to license type

我有一個.NET 2.0應用程序,它具有多種控件類型(復選框,按鈕等),我需要根據用戶購買的許可證類型啟用或禁用它們。 我想知道是否有一種方法可以將其作為方面來支持,例如使用注入或代理可以攔截對Enable或控件其他屬性的調用,並且可以在其中添加所需的邏輯。 如果重要的話,我會使用Infragistics控件。 關於這個問題還有其他想法嗎? 其他方法/模式? 謝謝

您可以創建一個自定義屬性來裝飾控件,然后遞歸地循環所有控件,並檢查該屬性以設置所需的狀態。

無法在Form_Load()事件中執行此操作?

if(LicenseType.SomeCheckBoxDisabled) {
    Form1.SomeCheckBox.Enabled = false;
}

向要保護的每個控件添加一個附加屬性。 就像是...

<asp:Button ID="Button1" runat="server" RequiredLicense="PremiumEdition">Click here</asp:Button>

如果我沒記錯的話,ASP.NET允許您向控件添加未定義的屬性,這些屬性將在控件的Attributes屬性中可用。

然后,在BasePage類的初始化(即PreRender,PageLoad等)中,您可以遞歸地循環瀏覽頁面的控件,並查找具有“ RequiredLicense”屬性的控件,並根據需要隱藏或禁用。

感謝所有的答案。 我認為我的問題不清楚,因為我不確定自己在尋找什么。 我一直在尋找的答案:我的應用程序是使用CAB框架編寫的。 為了根據出售的軟件包啟用/禁用應用程序中的控件,我將使用在SCFS中實現的命令模式。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM