當前位置: 首頁>>代碼示例>>C#>>正文


C# WebPartDesigner類代碼示例

本文整理匯總了C#中System.Web.UI.Design.WebControls.WebParts.WebPartDesigner的典型用法代碼示例。如果您正苦於以下問題:C# WebPartDesigner類的具體用法?C# WebPartDesigner怎麽用?C# WebPartDesigner使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


WebPartDesigner類屬於System.Web.UI.Design.WebControls.WebParts命名空間,在下文中一共展示了WebPartDesigner類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: BirthdayPart

//引入命名空間
using System;
using System.Security.Permissions;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.Design.WebControls.WebParts;
using System.ComponentModel;

/// <summary>
/// BirthdayPart demonstrates some of the most
/// common overrides of members of the WebPart
/// class. BirthdayPartDesigner shows how to 
/// customize the rendering of a custom WebPart
/// control.
/// </summary>
namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, 
    Level=AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand, 
    Level=AspNetHostingPermissionLevel.Minimal)]
  [Designer(typeof(BirthdayPartDesigner))]
  public class BirthdayPart : WebPart
  {
    private DateTime birthDate;
    Calendar input;
    Label displayContent;

    public BirthdayPart()
    {
      this.AllowClose = false;
      this.Title = "Enter your birthday";
    }

    [
      Personalizable(PersonalizationScope.User, true),
      WebBrowsable()
    ]
    public DateTime BirthDate
    {
      get { return birthDate; }
      set { birthDate = value; }
    }
    
    // Set the appearance of the control at run time.
    protected override void CreateChildControls()
    {
      Controls.Clear();
      input = new Calendar();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Submit";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);
      displayContent = new Label();
      displayContent.BackColor = 
      System.Drawing.Color.LightBlue;
      Literal br = new Literal();
      br.Text = "<br />";
      if ((this.birthDate.Day == DateTime.Now.Day)
        && (this.birthDate.Month == DateTime.Now.Month))
      {
        displayContent.Text = "Happy Birthday!";
        this.Controls.Add(br);
        this.Controls.Add(displayContent);
      }
    }

    private void submit_Click(object sender, EventArgs e)
    {
      this.birthDate = input.SelectedDate;
    }
  }

  public class BirthdayPartDesigner : WebPartDesigner
  {
    public override void Initialize(IComponent component)
    {
      // Verify that the associated control is a BirthdayPart.
      if (!typeof(BirthdayPart).IsInstanceOfType(component))
      {
        throw new ArgumentException("The specified control is not of type 'BirthdayPart'", "component");
      }
      base.Initialize(component);
    }

    // Here is where you make customizations
    // to design time appearance that will not
    // be visible to the end user.
    public override string GetDesignTimeHtml()
    {
      string designTimeHtml = null;
      try
      {
        designTimeHtml = base.GetDesignTimeHtml();
        string s = "<hr /><hr />I just added these lines to the"
          + " bottom of the control.<hr /><hr /></div>";
        designTimeHtml = designTimeHtml.Replace("</div>", s);
      }
      catch (Exception ex)
      {
        designTimeHtml = GetErrorDesignTimeHtml(ex);
      }
      finally
      {
        // undo any changes in the try block
      }

      if ((designTimeHtml == null) || (designTimeHtml.Length == 0))
      {
        designTimeHtml = GetEmptyDesignTimeHtml();
      }
      return designTimeHtml;
    }

    // This method normally returns a blank string.
    // Override to return a meaningful message.
    protected override string GetEmptyDesignTimeHtml()
    {
      return CreatePlaceHolderDesignTimeHtml(
        "<hr />If the page developer forgot to fill in a " +
        "required property you could tell them here.<hr />");
    }
    
    // Add specific text to the generic error message.
    protected override string GetErrorDesignTimeHtml(Exception e)
    {
      string s = "<hr />The control failed to render.";
      return(s + e.Message + "<hr />");
    }
  }
}
開發者ID:.NET開發者,項目名稱:System.Web.UI.Design.WebControls.WebParts,代碼行數:133,代碼來源:WebPartDesigner


注:本文中的System.Web.UI.Design.WebControls.WebParts.WebPartDesigner類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。