zoukankan      html  css  js  c++  java
  • WebPart Complex Property

    下面代码是实现一个Dropdown,同时实现其同步变化。代码如下:

    Complex Property
    using System;
    using System.Runtime.InteropServices;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.ComponentModel;
    using System.Collections;

    namespace WebPartCollection
    {
    [Guid("cf18e6af-3ab5-4503-8a41-c24ac8d38566")]
    public class ComplexProperty : System.Web.UI.WebControls.WebParts.WebPart
    {
    public ComplexProperty()
    {
    }
    private string _FirstName;
    [Personalizable]
    [WebBrowsable(true)]
    [Category("Name")]
    [WebDisplayName("FirstName")]
    public string FirstName
    {
    get { return _FirstName; }
    set { _FirstName = value; }
    }
    private string _LastName;
    [Personalizable]
    [WebBrowsable(true)]
    [Category("Name")]
    [WebDisplayName("LastName")]
    public string LastName
    {
    get { return _LastName; }
    set { _LastName = value; }
    }

    protected override void Render(HtmlTextWriter writer)
    {
    base.Render(writer);
    }
    public override EditorPartCollection CreateEditorParts()
    {
    ArrayList editorArray = new ArrayList();

    WebPartProperty1EditPart edPart = new WebPartProperty1EditPart();
    edPart.ID = "WebPartProperty1EditPart1";
    editorArray.Add(edPart);

    EditorPartCollection initEditorParts = base.CreateEditorParts();

    EditorPartCollection editorParts = new EditorPartCollection(initEditorParts, editorArray);

    return editorParts;
    }
    protected override void CreateChildControls()
    {

    base.CreateChildControls();

    }
    }

    public class WebPartProperty1EditPart : EditorPart
    {
    private DropDownList _dlValueList;
    private Label _lbCompany;


    //创建下拉列表控件
    protected override void CreateChildControls()
    {
    _lbCompany = new Label();
    _lbCompany.Text = "Company Name: ";

    _dlValueList = new DropDownList();
    _dlValueList.Items.Add("Carat");
    _dlValueList.Items.Add("HR");

    this.Controls.Add(_lbCompany);
    this.Controls.Add(new LiteralControl("<br/>"));
    this.Controls.Add(_dlValueList);
    }
    //将WebPart的值同步到下拉控件
    public override void SyncChanges()
    {
    this.EnsureChildControls();
    ComplexProperty wp = (ComplexProperty)this.WebPartToEdit;
    _dlValueList.SelectedValue = wp.FirstName;
    }
    //将下拉控件选择的值应用到WebPart
    public override bool ApplyChanges()
    {
    this.EnsureChildControls();
    ComplexProperty wp = (ComplexProperty)this.WebPartToEdit;
    wp.FirstName = _dlValueList.SelectedValue;
    return true;
    }
    }

    }



  • 相关阅读:
    HTTP状态码详解
    phpcms v9调用多个栏目下文章的方法
    纯CSS3制作学生入学档案表单样式代码
    phpcmsv9 标题颜色显示问题
    Excel中利用IF和TIME函数计算出上下班状态!
    excel if判断时间段早晚班
    PHPCMS列表页伪静态
    EXCEL IF 函数 模糊查询
    如何用js实现截取一个字符串中的数字
    Elasticsearch学习之基本核心概念
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2198968.html
Copyright © 2011-2022 走看看