簡體   English   中英

用戶控件以及其他控件作為屬性

[英]User control with other controls as properties

在我的asp.net 4.0應用程序中,我在整個應用程序中有一組標准的選項卡控件,其中一個選項卡用於“搜索”,一個選項卡用於“視圖”,一個選項卡用於“報告”。 我正在更新這些選項卡,並且希望能夠將它們的功能包裝到單個用戶控件中,因為它們的功能都非常相似。 我遇到的問題是如何創建一個名為SeacrhTab / ViewTab / ReportTab的屬性,該屬性使我可以根據應用程序的區域(例如CompanySearchControl,ContactSearchControl等)向其分配不同的用戶控件。類似? 我應該如何處理?

為特定的布局,視圖或選項卡定義創建一個枚舉,例如:SearchTab,ViewTab等。將其指定為UserControl的屬性,然后根據所需的布局使用該屬性來創建或隱藏並顯示特定的PlaceHolder或Panel,或功能。

public enum ControlLayoutEnum
{
    SearchTab = 0,
    ViewTab = 1,
    ReportTab = 2
}

public class TabViewControl: System.Web.UI.UserControl
{
    public ControlLayoutEnum ControlLayout { get; set; }

    protected override OnInit(object sender)
    {
        // Create controls required or Hide/Show PlaceHolder or Panel etc
        switch (this.ControlLayout)
        {
            case ControlLayoutEnum.SearchTab: // Create Search Layout
                break;
    }


}

您應該只能夠在頁面后面的代碼的部分類定義中創建一個常規屬性。 使其公開,並成為包括所有選項卡控件的通用類的類型,應設置您的名字。

我沒有做用戶控件的其他控件屬性,但是我確實使用了各種其他自定義類作為用戶控件的屬性,所以我不明白為什么它不起作用。

假設CompanySearchControlContactSearchControl都繼承自GenericSearchTabControlClass ,例如:

public GenericSearchTabControlClass SearchTab {get;set;}
public GenericViewTabControlClass ViewTab {get;set;}
public GenericReportTabControlClass ReportTab {get;set;}

暫無
暫無

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

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