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;
    }
    }

    }



  • 相关阅读:
    用原生PHP做Blog系统-Day01
    PHP做猜数字游戏
    关于html头部引用(meta,link)
    gulp基本入门
    前端构建工具gulpjs的使用介绍及技巧
    $.ajax()方法详解 jquery中的ajax方法
    js string 转 int 注意的问题——parseInt
    经常玩电脑怎么防辐射
    js 禁止重复提交
    jquery 监听回车提交
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2198968.html
Copyright © 2011-2022 走看看