Get controls ClientID/UniqueID between DetailsView and UpdatePanel

Posted by robertpnl on Stack Overflow See other posts from Stack Overflow or by robertpnl
Published on 2010-05-26T08:17:05Z Indexed on 2010/05/26 8:21 UTC
Read the original article Hit count: 271

Filed under:
|
|
|

Hi guys,

I like to know how to get the ClientID/UniqueID of a control inside a Detailsview controls EditItemTemplate element and when DetailsViews changing to Edit mode and DetailsView is inside a AJAX UpdatePanel. Without UpdatePanel, during PostBack I can get the ClientID's control, but now with an UpdatePanel.

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="SqlDataSource1" AllowPaging="true" AutoGenerateEditButton="true">
                <Fields>
                    <asp:TemplateField>
                        <EditItemTemplate>
                            <asp:CheckBox runat="server" ID="chkboxTest" Text="CHECKBOX" />
                        </EditItemTemplate>
                    </asp:TemplateField>
                </Fields>
            </asp:DetailsView>
        </ContentTemplate>
    </asp:UpdatePanel>

As you see, the EditItemTemplate contains a Checkbox control. So i'm trying to get the ClientID of this checkbox when Detailsview is changing to the Edit mode. I need this value for handling Javascript.

Catching the events ChangingMode/ChangedMode doesn't work; chkbox is null:

void DetailsView1_ModeChanged(object sender, EventArgs e)
{
    if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
            var chkbox = DetailsView1.Rows[0].FindControl("chkxboxTest"); // <==  is null    }

Maybe i'm using the wrong event? Someone can give me a tip about this? Thanks.

© Stack Overflow or respective owner

Related posts about c#

Related posts about ASP.NET