【问题标题】:Is there a way to put inner controls inside a ASP.NET Custom Control?有没有办法将内部控件放入 ASP.NET 自定义控件中?
【发布时间】:2009-03-03 00:15:48
【问题描述】:

我想做类似的事情(更新示例):

<uc:Tabs>
  <Tab Name="A handy tab">
    <Node Url="~/Default.aspx" />
    <Node Url="~/Node2.aspx" />
  </Tab>      
  <Tab Name="Another handy tab">
    <Node Url="~/Neato.aspx" />
    <Node Url="~/Node3.aspx" />
    <Node Url="~/Node4.aspx" />
  </Tab>
<uc:Tabs>

可能吗?有什么教程或操作方法吗?我不确定要搜索什么或这叫什么,所以到目前为止还没有找到任何东西。内部控制?内部集合什么东西...?

【问题讨论】:

    标签: .net asp.net asp.net-controls


    【解决方案1】:

    使用ParseChildrenAttributePersistChildrenAttribute 属性:

    [ParseChildren(false)]
    [PersistChildren(true)]
    public class MyControl : UserControl { }
    

    这将导致您放入引用中的任何控件:

    <uc:MyControl runat="server">
      <asp:TextBox runat="server" />
    <uc:MyControl>
    

    附加到您的 UserControl 内容的 Controls 集合的末尾。

    但是,如果您想拥有一组控件,您可能应该使用服务器控件而不是用户控件。对于像这样工作的控件:

    <foo:TabControl runat="server">
        <Tabs>
            <foo:Tab CssClass="myclass" Title="Hello World" />
        </Tabs>
    </foo:TabControl>
    

    您需要一个具有 Tabs 属性的 Control 类; Tabs 属性应该是一个集合;它应该包含 Tab 类型的对象。我在这里创建了三个类:

    [ParseChildren(true, "Tabs")]
    public class TabControl: WebControl, INamingContainer
    {
        private TabCollection _tabs;
    
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
        public TabCollection Tabs
        {
            get
            {
                if (_tabs == null)
                {
                    _tabs = new TabCollection();
                }
                return _tabs;
            }
        }
    
        protected override void Render(HtmlTextWriter writer)
        {
            foreach (Tab tab in Tabs)
            {
                writer.WriteBeginTag("div");
                writer.WriteAttribute("class", tab.CssClass);
                writer.Write(HtmlTextWriter.TagRightChar);
                writer.Write("this is a tab called " + tab.Title);
                writer.WriteEndTag("div");
            }
        }
    }
    

    还有选项卡类:

    public class Tab
    {
        public string CssClass { get; set; }
        public string Title { get; set; }
    }
    

    还有选项卡集合:

    public class TabCollection : Collection<Tab> { }
    

    【讨论】:

    • 我会试一试。我现在正在使用自定义(服务器?)控件;我认为“uc”可能会让你相信它是一个用户控件。
    【解决方案2】:

    跟进

    Rex M 提供了答案,但只是想跟进我也为后代找到的内容。

    看来你可以做到:

    <ui:Tabs runat="server">
        <ui:Tab TabText="Blah">
            <ui:Node Url="~/Default.aspx" />
            <ui:Node Url="~/More.aspx" />
            <ui:Node Url="~/Another.aspx" />
        </ui:Tab>
        <ui:Tab TabText="Nanner">
            <ui:Node Url="~/Default.aspx" />
            <ui:Node Url="~/More.aspx" />
            <ui:Node Url="~/Another.aspx" />
        </ui:Tab>
        <ui:Tab TabText="High There">
            <ui:Node Url="~/Default.aspx" />
            <ui:Node Url="~/More.aspx" />
            <ui:Node Url="~/Another.aspx" />
        </ui:Tab>
    </ui:Tabs>
    

    <ui:Tabs runat="server">
        <TabItems>
            <ui:Tab InnerHeading="Big Huge Heading" TabText="Big">
                <NodeItems>
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                </NodeItems>
            </ui:Tab>
        </TabItems>
        <TabItems>
            <ui:Tab InnerHeading="Hi ya" TabText="Hi">
                <NodeItems>
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                    <ui:Node Url="~/Default.aspx" />
                </NodeItems>
            </ui:Tab>
        </TabItems>
    </ui:Tabs>
    

    然后在代码中:

    namespace Controls
    {
        [ToolboxData("<{0}:Tabs runat=server></{0}:Tabs>"), ParseChildren(true, "TabItems")]
        public class Tabs : BaseControl, INamingContainer
        {
            private TabCollection tabItems;
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
            [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
            public TabCollection TabItems
            {
                get
                {
                    if (tabItems == null) 
                    { 
                        tabItems = new TabCollection(); 
                    } 
                    return tabItems;
                }
            }
    
            protected override void Render(HtmlTextWriter writer)
            {
                writer.Write("<div id=\"tabs\" class=\"pane\" style=\"display: none\"><ul>");
                int tabNumber = 1;
                foreach (Tab tab in TabItems)
                {
                    string li = string.Format("<li id=\"tab_{0}\"><a href=\"#tab{0}\"><span>{1}</span></a></li>", tabNumber, tab.TabText);
                    tabNumber++;
                    writer.Write(li);
                }
                writer.Write("</ul>");
                tabNumber = 1;
                foreach (Tab tab in TabItems)
                {
                    string div = string.Format("<div id=\"tab{0}\" class=\"pane\"><h1>{1}</h1>", tabNumber, tab.InnerHeading);
                    tabNumber++;
                    writer.Write(div);
                    foreach (Node node in tab.NodeItems)
                    {
                        string a = string.Format("<a href='{0}'>{1}</a>", node.Url, "Text holder");
                        writer.Write(a);
                    }
                    writer.Write("</div>");
                }
                writer.Write("</div>");
            }
        }
    
        public class TabCollection : List<Tab> { }
    
        [ParseChildren(true, "NodeItems")]
        public class Tab
        {
            private string tabText = string.Empty;
            private string innerHeading = string.Empty;
            private string showOn = string.Empty;
            public string TabText
            {
                get { return tabText; }
                set { tabText = value; }
            }
            public string InnerHeading
            {
                get { return innerHeading; }
                set { innerHeading = value; }
            }
    
            public string ShowOn
            {
                get { return showOn; }
                set { showOn = value; }
            }
    
            private NodeCollection nodeItems;
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
            [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
            public NodeCollection NodeItems
            {
                get
                {
                    if (nodeItems == null)
                    {
                        nodeItems = new NodeCollection();
                    }
                    return nodeItems;
                }
            }
        }
    
        public class NodeCollection : List<Node> { }
    
        public class Node
        {
            private string url = string.Empty;
            public string Url
            {
                get { return url; }
                set { url = value; }
            }
        }
    }
    

    这显然会发生变化(我将阅读 web.sitemap 以及其他变化),但这应该会让任何有相同需求的人顺利进行。

    【讨论】:

      【解决方案3】:
      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Text;
      using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Collections;
      using System.Web.UI.HtmlControls;
      
      namespace Gui.Controls
      {
      
          [DefaultProperty("Text")]
          [ToolboxData("<{0}:GPMenu runat=server></{0}:GPMenu>")]
          [ParseChildren(false)]
          public class GPMenu : WebControl
          {
      
              private void CreateDynamicControls()
              {
                  //some code for Creating Dynamic Controls 
      
      
              } //eof method 
      
              #region FieldsAndProps
      
              #region ActiveTab
      
              protected int _ActiveTab;
              [Bindable(true)]
              [Category("Appearance")]
              public int ActiveTab // Public properties   
              {
                  get { return _ActiveTab; }
                  set { _ActiveTab = value; }
              }
              #endregion ActiveTab
      
              #region Caption
      
              protected string _Caption = "";
              [Bindable(true)]
              [Category("Appearance")]
              [DefaultValue("")]
              [Localizable(true)]
              public string Caption // Public properties  
              {
                  get { return _Caption; }
                  set { _Caption = value; }
              }
              #endregion Caption
      
              #region MenuId
      
              protected string _MenuId = "0";
              [Bindable(true)]
              [Category("Appearance")]
              [DefaultValue("")]
              [Localizable(true)]
              public string MenuId // Public properties   
              {
                  get { return _MenuId; }
                  set { _MenuId = value; }
              }
              #endregion MenuId
      
              #region Text
      
              protected string _Text = "";
              [Bindable(true)]
              [Category("Appearance")]
              [DefaultValue("")]
              [Localizable(true)]
              public string Text // Public properties 
              {
                  get { return _Text; }
                  set { _Text = value; }
              }
              #endregion Text
      
              #region UserObj
      
              private FB.User userObj;
              public FB.User UserObj
              {
                  get
                  {
                      return userObj;
                  } //eof get 
                  set
                  {
                      userObj = value;
      
                  } //eof set 
      
              } //eof prop 
      
              #endregion UserObj
      
              #region ListTabWizard
      
      
              private List<App.Models.TabWizard> _ListWizard;
      
              [Bindable(true)]
              [Category("Appearance")]
              [Description(" The data structure used for databinding the menu ")]
              public List<App.Models.TabWizard> ListWizard
              {
                  get { return _ListWizard; }
                  set { _ListWizard = value; }
              }
      
              #endregion ListWizard
      
              #endregion FieldsAndProps
      
              #region Constructors
              public GPMenu()
              {
                  //Statement to run while initialize of control  
              }
              #endregion Constructors
      
              #region Overrides
      
              public override void RenderControl(HtmlTextWriter writer)
              {
                  RenderContents(writer);
              }
      
              protected override void RenderContents(HtmlTextWriter output)
              {
                  //Codes for rendering html to be written here   
                  output.WriteBeginTag("div");
                  output.WriteAttribute("class", _Caption);
                  output.WriteAttribute("ID", this.ID);
                  RenderChildren(output); // Render Child Control is Exists   
                  output.WriteEndTag("div");
              }
      
              public override void DataBind()
              {
                  this.Controls.Clear();
                  base.DataBind();
      
                  #region Debug
      
                  //old configure the logger
                  //logger.Debug("Custom GPMenu DataBind called ");
      
                  #endregion Debug
      
                  #region AddTheTopDiv
      
                  Panel panTabMenuTop = new Panel();
                  panTabMenuTop.ID = "panTabMenuTop";
                  panTabMenuTop.CssClass = "CssClassPanTabMenuTop";
                  this.Controls.Add(panTabMenuTop);
      
                  #endregion AddTheTopDiv
      
                  #region AddTheUlOpenTag
      
                  HtmlGenericControl conGenUi = new HtmlGenericControl("ul");
                  conGenUi.ID = "paakallo";
      
      
      
                  #endregion AddTheUlOpenTag
      
      
                  #region ForEachMenuItemInTheListAddTheLinks
      
                  if (this.ListWizard == null)
                      throw new Exception(" The List of menu items is null for " + this.ID);
      
      
      
                  #region ForEachWizardItem
      
                  for (int iListMenuItem = 0; iListMenuItem < this.ListWizard.Count; iListMenuItem++)
                  {
                      App.Models.TabWizard objMenuItem = this.ListWizard[iListMenuItem];
      
                      #region AddTheLiOpenTag
      
                      PlaceHolder objPlaceHolderLiOpen = new PlaceHolder();
                      objPlaceHolderLiOpen.Controls.Add(new LiteralControl("<li>"));
                      conGenUi.Controls.Add(objPlaceHolderLiOpen);
      
                      #endregion AddTheLiOpenTag
      
                      #region BuildTheLocalizedLink
      
                      #region Check that the whole MenuItem data structure is not null
      
                      if (objMenuItem == null)
                          throw new Exception(
                              "The building of the GPMenu failed since \n: " +
                              " null MenuItem at  " + iListMenuItem.ToString() + " for " + this.ID);
      
                      #endregion Check that the whole MenuItem data structure is not null
      
                      //the variant with LinkButton does PostBack == BAD !!!                
                      PlaceHolder objPlaceHolderLink = new PlaceHolder();
      
                      #region BuildTheLinkId_with_MenuItemId
      
                      if (String.IsNullOrEmpty(objMenuItem.Link_Id.ToString()))
                      {
                          throw new Exception(
                              "The building of the GPMenu failed since \n: " +
                              " null or empty MenuItemId for  " + iListMenuItem.ToString() + " for " + this.ID);
                      }
      
                      #endregion BuildTheLinkId_with_MenuItemId
      
                      #region AddTheTextForTheLink_with_GuiPageLinkURL
      
                      //check that this LinkItem points to a registered page 
                      if (objMenuItem.Link_Id == null)
                      {
                          throw new Exception(
                              "The building of the GPMenu failed since \n: " +
                              " null GuiPage for " + iListMenuItem.ToString() + " for " + this.ID);
                      }
      
                      string strActiveLinkCssClass = String.Empty;
      
                      string strTabTxt = String.Empty;
                      try
                      {
                          strTabTxt = objMenuItem.TabTitle;
                      }
                      catch (System.Exception ex)
                      {
                          continue;
                      }
      
                      #region BuildTheActualLink
      
      
                      string strLinkTxt = String.Empty;
                      strLinkTxt += "<a " + strActiveLinkCssClass + " href=\"";
                      string strLinkUrl = Http.UrlHandler.ExpandUrl(objMenuItem.LinkURL);
      
      
                      #endregion BuildTheActualLinks
      
                      #region AddTheColorForTheLinkAndRemoveTheBorderOfActiveTab
      
                      if (this.ActiveTab != null && strLinkUrl.Contains("tabid=" + this.ActiveTab.ToString()))
                          strActiveLinkCssClass = "class=\"CssClassGPMenuActiveLink\"";
      
                      #endregion AddTheColorForTheLinkAndRemoveTheBorderOfActiveTab
      
                      strLinkTxt += strLinkUrl + "\"" + strActiveLinkCssClass;
      
                      #endregion AddTheTextForTheLink_with_GuiPageLinkURL
      
                      #region AddTheToolTip
      
      
      
                      string strVisibleToolTipTxt = String.Empty;
                      try
                      {
                          strVisibleToolTipTxt = objMenuItem.ItemButtonToolTip;
                      }
                      catch (System.Exception ex)
                      {
                          continue;
                      }
      
      
      
                      strLinkTxt += "\" title=\"" + strVisibleToolTipTxt +
                          "\"><span>" + strTabTxt + "</span></a>";
      
                      #endregion AddTheToolTip
      
                      #region AddTheLabel_used_in_The_TabMenu
      
                      objPlaceHolderLink.Controls.Add(new LiteralControl(strLinkTxt));
                      conGenUi.Controls.Add(objPlaceHolderLink);
      
                      #endregion AddTheLabel_used_in_The_TabMenu
      
                      #endregion BuildTheLocalizedLink
      
                      #region AddTheLiCloseTag
      
                      PlaceHolder objPlaceHolderLiClose = new PlaceHolder();
                      objPlaceHolderLiClose.Controls.Add(new LiteralControl("</li>"));
                      conGenUi.Controls.Add(objPlaceHolderLiClose);
      
                      #endregion AddTheLiCloseTag
      
                  } //eof foreach MenuItem in List
                  #endregion ForEachWizardItem
      
                  #endregion ForEachMenuItemInTheListAddTheLinks
      
                  #region AddTheUlCloseTag
      
                  this.Controls.Add(conGenUi);
      
                  #region AddTheBottomDiv
      
                  Panel panTabMenuBottom = new Panel();
                  panTabMenuBottom.ID = "panTabMenuBottom";
                  panTabMenuBottom.CssClass = "CssClassPanTabMenuBottom";
                  this.Controls.Add(panTabMenuBottom);
      
                  #endregion AddTheBottomDiv
      
                  #endregion AddTheUlCloseTag
      
              } //eof method 
      
              #region TemplateMethods
              protected override void OnInit(EventArgs e)
              {
                  base.OnInit(e);
              } //eof method
      
              protected override void CreateChildControls()
              {
                  base.CreateChildControls();
                  this.CreateDynamicControls();
              } //eof method 
      
      
              protected override object SaveViewState()
              {
                  return new Pair(base.SaveViewState(), null);
              } //eof method 
      
              protected override void LoadViewState(object savedState)
              {
                  base.LoadViewState(((Pair)savedState).First);
                  EnsureChildControls();
              } //eof method 
      
      
              #endregion TemplateMethods
      
      
              #endregion Overrides
      
          } //eof class 
      } //eof namespace 
      
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Data;
      using System.Collections.Specialized;
      
      
      namespace App.Models
      {
          /// <summary>
          /// Serves as the model for  the tabwizard page 
          /// </summary>
          public class TabWizard
          {
              #region Properties
      
              #region TabWizardId
      
              public long tbGuiTabWizardId { get; set; }
      
      
              #endregion TabWizardId
      
      
              #region TabId
      
              public int TabId { get; set; }
      
              #endregion TabId
      
              #region Link_Id
      
              public int Link_Id { get; set; }
      
              #endregion Link_Id
      
              #region WizardId
      
              public int WizardId { get; set; }
      
              #endregion WizardId
      
              #region TabOrder
      
              public int TabOrder { get; set; }
      
              #endregion TabOrder
      
              #region TabTitle
      
              public string TabTitle { get; set; }
      
              #endregion TabTitle
      
              #region TabHasManyButtons
      
              public bool TabHasManyButtons { get; set; }
      
              #endregion TabHasManyButtons
      
              #region ButtonTitle
      
              public string ButtonTitle { get; set; }
      
              #endregion ButtonTitle
      
              #region Description
      
              public string Description { get; set; }
      
              #endregion Description
      
              #region ProcToStart
      
              public string ProcToStart { get; set; }
      
              #endregion ProcToStart
      
              #region ProcId
      
              public string ProcId { get; set; }
      
              #endregion ProcId
      
              #region ItemMetaId
      
              public string ItemMetaId { get; set; }
      
              #endregion ItemMetaId
      
              #region ItemId
      
              public string ItemId { get; set; }
      
              #endregion ItemId
      
              #region ItemStartProc
      
              public string ItemStartProc { get; set; }
      
              #endregion ItemStartProc
      
              #region ItemButtonToolTip
      
              public string ItemButtonToolTip { get; set; }
      
              #endregion ItemButtonToolTip
      
              #region ItemButtonText
      
              public string ItemButtonText { get; set; }
      
              #endregion ItemButtonText
      
              #region TypeOfTab
      
              public string TypeOfTab { get; set; }
      
              #endregion TypeOfTab
      
              #region WizardHasStepping
      
              public bool WizardHasStepping { get; set; }
      
              #endregion WizardHasStepping
      
              #region RunProcOnTabClick
      
              public bool RunProcOnTabClick { get; set; }
      
              #endregion RunProcOnTabClick
      
              #region TabIsPRS
      
              public bool TabIsPRS { get; set; }
      
              #endregion TabIsPRS
      
              #region ItemIsPRS
      
              public bool ItemIsPRS { get; set; }
      
              #endregion ItemIsPRS
      
              #region FlagPresentAreYouSurePrompt
      
              public bool FlagPresentAreYouSurePrompt { get; set; }
      
              #endregion FlagPresentAreYouSurePrompt
      
              #region PromptAreYouSureText
      
              public string PromptAreYouSureText { get; set; }
      
              #endregion PromptAreYouSureText
      
              #region PageId
      
              public int PageId { get; set; }
      
              #endregion PageId
      
              #region MenuId
      
              public int MenuId { get; set; }
      
              #endregion MenuId
      
      
              #endregion Properties
      
              #region Props
      
      
              #region Constructor
      
      
              public TabWizard(System.Data.DataRow dr)
              {
                  if (dr["tbGuiTabWizardId"] != null && !(dr["tbGuiTabWizardId"] is DBNull))
                      this.tbGuiTabWizardId = System.Convert.ToInt64(dr["tbGuiTabWizardId"]);
      
      
                  if (dr["TabId"] != null && !(dr["TabId"] is DBNull))
                      this.TabId = System.Convert.ToInt32(dr["TabId"]);
      
      
                  if (dr["Link_Id"] != null && !(dr["Link_Id"] is DBNull))
                      this.Link_Id = System.Convert.ToInt32(dr["Link_Id"]);
      
      
                  if (dr["WizardId"] != null && !(dr["WizardId"] is DBNull))
                      this.WizardId = System.Convert.ToInt32(dr["WizardId"]);
      
      
                  if (dr["TabOrder"] != null && !(dr["TabOrder"] is DBNull))
                      this.TabOrder = System.Convert.ToInt32(dr["TabOrder"]);
      
      
                  if (dr["TabTitle"] != null && !(dr["TabTitle"] is DBNull))
                      this.TabTitle = System.Convert.ToString(dr["TabTitle"]);
      
      
                  if (dr["TabHasManyButtons"] != null && !(dr["TabHasManyButtons"] is DBNull))
                      this.TabHasManyButtons = System.Convert.ToBoolean(dr["TabHasManyButtons"]);
      
      
                  if (dr["ButtonTitle"] != null && !(dr["ButtonTitle"] is DBNull))
                      this.ButtonTitle = System.Convert.ToString(dr["ButtonTitle"]);
      
      
                  if (dr["Description"] != null && !(dr["Description"] is DBNull))
                      this.Description = System.Convert.ToString(dr["Description"]);
      
      
                  if (dr["ProcToStart"] != null && !(dr["ProcToStart"] is DBNull))
                      this.ProcToStart = System.Convert.ToString(dr["ProcToStart"]);
      
      
                  if (dr["ProcId"] != null && !(dr["ProcId"] is DBNull))
                      this.ProcId = System.Convert.ToString(dr["ProcId"]);
      
      
                  if (dr["ItemMetaId"] != null && !(dr["ItemMetaId"] is DBNull))
                      this.ItemMetaId = System.Convert.ToString(dr["ItemMetaId"]);
      
      
                  if (dr["ItemStartProc"] != null && !(dr["ItemStartProc"] is DBNull))
                      this.ItemStartProc = System.Convert.ToString(dr["ItemStartProc"]);
      
      
                  if (dr["ItemButtonToolTip"] != null && !(dr["ItemButtonToolTip"] is DBNull))
                      this.ItemButtonToolTip = System.Convert.ToString(dr["ItemButtonToolTip"]);
      
      
                  if (dr["ItemButtonText"] != null && !(dr["ItemButtonText"] is DBNull))
                      this.ItemButtonText = System.Convert.ToString(dr["ItemButtonText"]);
      
      
                  if (dr["TypeOfTab"] != null && !(dr["TypeOfTab"] is DBNull))
                      this.TypeOfTab = System.Convert.ToString(dr["TypeOfTab"]);
      
      
                  if (dr["WizardHasStepping"] != null && !(dr["WizardHasStepping"] is DBNull))
                      this.WizardHasStepping = System.Convert.ToBoolean(dr["WizardHasStepping"]);
      
      
                  if (dr["RunProcOnTabClick"] != null && !(dr["RunProcOnTabClick"] is DBNull))
                      this.RunProcOnTabClick = System.Convert.ToBoolean(dr["RunProcOnTabClick"]);
      
      
                  if (dr["TabIsPRS"] != null && !(dr["TabIsPRS"] is DBNull))
                      this.TabIsPRS = System.Convert.ToBoolean(dr["TabIsPRS"]);
      
      
                  if (dr["ItemIsPRS"] != null && !(dr["ItemIsPRS"] is DBNull))
                      this.ItemIsPRS = System.Convert.ToBoolean(dr["ItemIsPRS"]);
      
      
                  if (dr["FlagPresentAreYouSurePrompt"] != null && !(dr["FlagPresentAreYouSurePrompt"] is DBNull))
                      this.FlagPresentAreYouSurePrompt = System.Convert.ToBoolean(dr["FlagPresentAreYouSurePrompt"]);
      
      
                  if (dr["PromptAreYouSureText"] != null && !(dr["PromptAreYouSureText"] is DBNull))
                      this.PromptAreYouSureText = System.Convert.ToString(dr["PromptAreYouSureText"]);
      
      
                  if (dr["PageId"] != null && !(dr["PageId"] is DBNull))
                      this.PageId = System.Convert.ToInt32(dr["PageId"]);
      
      
                  if (dr["LinkURL"] != null && !(dr["LinkURL"] is DBNull))
                      this.LinkURL = System.Convert.ToString(dr["LinkURL"]);
      
      
      
                  if (dr["MenuId"] != null && !(dr["MenuId"] is DBNull))
                      this.MenuId = System.Convert.ToInt16(dr["MenuId"]);
      
      
              } //eof constructor  
      
              #endregion Constructor
      
      
      
      
      
      
      
              #region LinkURL
      
              private string _LinkURL = String.Empty;
              public string LinkURL
              {
                  get { return _LinkURL; }
                  set { _LinkURL = value; }
              }
      
              #endregion LinkURL
      
      
              #endregion Props
      
      
      
          } //eof class 
      } //eof namespace 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-11
        • 1970-01-01
        • 2011-06-10
        • 2013-07-24
        • 1970-01-01
        相关资源
        最近更新 更多