0

我正在构建一个扩展器控件。此控件源自普通控件。它的目的是在指定的目标控件之前/之后注入一些文本。我想这类似于 AJAX 日历扩展器的工作方式。所以它具有诸如TargetControlID等之类的属性。

我不确定要连接目标控件的哪个事件,以便我可以在控件呈现之前/之后插入我的评论。

以图形方式表示我要完成的工作:

在此处输入图像描述

我只想在出现绿色破折号的地方发表评论。反正我可以控制...?

到目前为止我尝试过的源代码......

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.IO;

namespace DropDownSubstitute
{
    /// <summary>
    /// 
    /// </summary>
    public class DropDownListExtender : Control
    {
        public string TargetControlID { get; set; }
        System.Web.UI.WebControls.DropDownList _ddl;
        protected override void OnInit(EventArgs e)
        {
            _ddl = this.Page.FindControl(this.TargetControlID) as DropDownList;
            if(_ddl == null) 
                throw new InvalidOperationException("TargetControlID for DropDownListExtender must be a valid ASP.NET DropDownList control");
            _ddl.PreRender += new EventHandler(RenderDropDown);

        }

        void RenderDropDown(object sender, EventArgs e)
        {
                //Desperately wanting to put a comment before the DropDownList renders
                // to the response 
        }

    }

}
4

0 回答 0