1

我有一个具有图像按钮和 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) 中,我可以将数据源附加到我的 gridview 并且效果很好。需要帮助的地方是..我想在我的内容页面(.aspx)中处理图像按钮的事件(以及与gridview交互)再次,图像按钮和gridview在master中并且它将在加载内容页面时填充。我想做的一个例子.. grive 视图里面有一个复选框..所以我想检查它的特定行并单击图像按钮删除该行。听起来可能有点混乱..如果有人不明白..我可以进一步解释。请协助..我迷路了。

4

1 回答 1

4

你可以这样做:

在母版页代码隐藏中:

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
}
于 2013-08-20T20:37:36.587 回答