0

我想在 asp .net 中删除 ItemTemplate 的事件处理程序。这是asp代码

 <ItemTemplate>
            <asp:RadioButton runat="server" ID="rdbAnswer"  GroupName="Group"  AutoPostBack="True" 
        OnCheckedChanged="rdbAnswer_CheckedChanged" />
        </ItemTemplate>

我想删除后面代码上的 checkedchanged 事件。我怎样才能做到这一点 ?

4

1 回答 1

3

用于-=删除事件处理程序。你可以这样做RowCreated

protected void gridView1_RowCreated(Object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        RadioButton rdbAnswer = (RadioButton)e.Row.FindControl("rdbAnswer");
        if(YourCondition)
        {
            // Remove event handler
            rdbAnswer.CheckedChanged -= new EventHandler(rdbAnswer_CheckedChanged);
            // maybe you also want to set rdbAnswer.AutoPostBack="false" to prevent the postback
        }
    }
}

记得注册RowCreated事件处理程序:

<asp:GridView ID="gridView1" OnRowCreated="gridView1_RowCreated" runat="server">
于 2012-10-25T08:09:59.693 回答