programing

On Checked Changed 이벤트가 실행되지 않음

magicmemo 2023. 3. 27. 21:10
반응형

On Checked Changed 이벤트가 실행되지 않음

체크박스가 있는 GridView가 있습니다(GridView의 나머지 부분은 데이터베이스에서 입력됩니다).다른 기능을 수행하기 위해 AJAX를 사용하고 있는데 OnChecked Changed 이벤트를 제대로 호출하지 않았는지 궁금합니다.어떤 UpdatePanel로 포장해야 합니까?난 아직 이 모든 게 어떻게 돌아가는지...기본적으로 체크박스가 켜져 있을 때 데이터베이스의 비트 값을 변경하는 것을 목표로 하고 있습니다.이 방법의 논리를 알고 있지만 OnChecked Changed 이벤트에 올바르게 대처하고 있는지 알 수 없습니다.

.CS

        protected void CheckBoxProcess_OnCheckedChanged(Object sender, EventArgs args)
    {
        CheckBox checkbox = (CheckBox)sender;
        GridViewRow row = (GridViewRow)checkbox.NamingContainer;
        OrderBrowser.Text += "CHANGED";
    }


    }

.aspx

<html xmlns="http://www.w3.org/1999/xhtml">

        <asp:DropDownList runat="server" ID="orderByList" AutoPostBack="true">
            <asp:ListItem Value="fName" Selected="True">First Name</asp:ListItem>
            <asp:ListItem Value="lName">Last Name</asp:ListItem>
            <asp:ListItem Value="state">State</asp:ListItem>
            <asp:ListItem Value="zip">Zip Code</asp:ListItem>
            <asp:ListItem Value="cwaSource">Source</asp:ListItem>
            <asp:ListItem Value="cwaJoined">Date Joined</asp:ListItem>
        </asp:DropDownList>
    </div>
    <div>
        <asp:Label runat="server" ID="searchLabel" Text="Search For: " />
        <asp:TextBox ID="searchTextBox" runat="server" Columns="30" />
        <asp:Button ID="searchButton" runat="server" Text="Search" />
    </div>
<div>
<asp:UpdatePanel ID = "up" runat="server">
<Triggers>
    <asp:AsyncPostBackTrigger ControlID = "orderByList"
    EventName="SelectedIndexChanged" />
     <asp:AsyncPostBackTrigger ControlId="searchButton" EventName="Click" />
</Triggers>

<ContentTemplate>
<div align="center">
    <asp:GridView ID="DefaultGrid" runat = "server" DataKeyNames = "fName"
    onselectedindexchanged = "DefaultGrid_SelectedIndexChanged"
    autogenerateselectbutton = "true" 
    selectedindex="0">
    <SelectedRowStyle BackColor="Azure"
    forecolor="Black"
    font-bold="true" />
    <Columns>
    <asp:TemplateField HeaderText="Processed">
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBoxProcess" runat="server" Enabled="true" OnCheckedChanged = "CheckBoxProcess_OnCheckedChanged" />
                </ItemTemplate>
            </asp:TemplateField>

    </Columns>
    </asp:GridView>
    </div>
    <asp:TextBox ID="OrderBrowser" columns="100" Rows="14" runat="server" Wrap="false" TextMode="MultiLine" ReadOnly = "true">
    </asp:TextBox>
    </ContentTemplate>
    </asp:UpdatePanel>



</div>
</form>

체크 박스 컨트롤에 대해서, 자동 포스트 백을 유효하게 해 주세요.

<asp:CheckBox ID="CheckBoxProcess" runat="server" Enabled="true" OnCheckedChanged = "CheckBoxProcess_OnCheckedChanged" AutoPostBack="true" />

이것이 메서드가 호출되지 않는 이유일 수 있습니다.

DB에서 값을 확인해 보십시오.

Checked='<%# Convert.ToBoolean(Eval("Processed"))%>'

언급URL : https://stackoverflow.com/questions/6596767/oncheckedchanged-event-not-firing

반응형