• 关于从页面中获取用户控件中的其它控件(如DropDownList)事件的方法


    在项目中经常把一些经常使用的代码做成用户控件以提高代码的可重用性, 一个经常遇到的就是在页面中调用用户控件中的服务器控件的事件,下面给出简单的代码示列。

    我们在一个用户控件(MaterialReportControl.ascx)中包含一个DropDownList控件(DdlSpecies),然后在页面(MaterialReport.aspx)中调用DropDownList的SelectedIndexChanged方法为例:

    1.在MaterialReportControl.ascx声明的一个DropDownList控件

    View Code
                <asp:DropDownList ID="Species" runat="server" Width="90%"  AutoPostBack="true">
    </asp:DropDownList>

    2.在MaterialReportControl.ascx的后台中代码如下:

    View Code
        /// <summary>
    /// 返回用户控件中Species(DropDownList)属性
    /// </summary>
    public DropDownList Ddl_Species_Control
    {
    get
    {
    return Species;
    }
    }

    3.MaterialReport.aspx前台注册MaterialReportControl.ascx

    View Code
    <%@ Register Src="~/Controls/Report/MaterialReportControl.ascx" TagName="Search" TagPrefix="uc1" %>

    4.前台调用。此处说明一下:Search1_Search为后台一个查询方法

    View Code
    <uc1:Search ID="Search1" runat="server" OnSearch="Search1_Search" />

    5.MaterialReport.aspx后台代码:

    View Code
        /// <summary>
    /// 页面初始化时绑定事件
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
    this.Search1.Ddl_Species_Control.SelectedIndexChanged += new EventHandler(InitTableBySpecies_UserControl_Clicked);
    }
    /// <summary>
    /// 要绑定的方法
    /// </summary>
    private void InitTableBySpecies_UserControl_Clicked(object sender, System.EventArgs e)
    {
    }

    OK!


  • 相关阅读:
    设计模式的原则
    命令模式
    访问者模式
    策略模式
    外观模式
    组合模式
    原型模式
    合并有序数组
    判断二叉树是否对称
    中序遍历二叉树
  • 原文地址:https://www.cnblogs.com/zuoguanglin/p/2427447.html
Copyright © 2020-2023  润新知