内容页中的母版页控制器事件句柄



我有一个母版页,它有一个图像按钮和一个GridView。

<asp:ImageButton ID="ImageButton2" runat="server" Height="48px" ImageUrl="~/IconsPack/Add.png" ToolTip="Add Record" CssClass="morph" Width="48px"/>

        <asp:GridView ID="GridView1" runat="server" CssClass="EU_DataTable" EmptyDataText="No Data Available.">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" />  
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>

在我的内容页面(.aspx)中,我可以将数据源附加到我的网格视图中,效果很好。哪里需要帮助。。我想在我的内容页面(.aspx)中处理图像按钮的事件(以及与网格视图的交互)同样,图像按钮和网格视图位于主控视图中,当加载内容页面时,它将被填充。我想做什么的一个例子。。网格视图内部有一个复选框。。所以我想检查它是否有特定的行,然后单击image按钮删除该行。这听起来可能有点令人困惑。。如果有人不理解。。我可以进一步解释。请协助。。我迷路了。

您可以这样做:

在母版页代码隐藏:

public event EventHandler MasterControlClicked;
protected void ImageButton2_Click(object sender, EventArgs e)
{
    OnMasterControlClick(e);
}
protected void OnMasterControlClick(EventArgs e)
{
    if (this.MasterControlClicked != null)
    {
        this.MasterControlClicked(this, e);
    }
}

在内容页面中:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    if (this.Master is SiteMaster)
    {
        ((SiteMaster)this.Master).MasterControlClicked += new EventHandler(ContentControlClicked);
    }
}
private void ContentControlClicked(object sender, EventArgs e)
{
    //do whatever you need
}

最新更新