首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnCheckedChanged事件未触发

OnCheckedChanged事件未触发
EN

Stack Overflow用户
提问于 2011-07-06 21:00:21
回答 2查看 38.7K关注 0票数 32

我有一个带有一列复选框的GridView ( GridView的其余部分是从数据库填充的)。我正在使用AJAX执行不同的功能,我想知道我是否没有在正确的位置调用OnCheckedChanged事件。它应该被包装在某种UpdatePanel中吗?对于所有这些works...basically我的目标是在选中复选框时更改数据库中的位值,我仍然是个新手。我知道该怎么做的逻辑,我只是不知道我是否以正确的方式处理我的OnCheckedChanged事件。

.CS

代码语言:javascript
复制
        protected void CheckBoxProcess_OnCheckedChanged(Object sender, EventArgs args)
    {
        CheckBox checkbox = (CheckBox)sender;
        GridViewRow row = (GridViewRow)checkbox.NamingContainer;
        OrderBrowser.Text += "CHANGED";
    }


    }

.aspx

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml">
代码语言:javascript
复制
        <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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-06 21:05:05

尝试打开checkbox控件的AutoPostBack。

代码语言:javascript
复制
<asp:CheckBox ID="CheckBoxProcess" runat="server" Enabled="true" OnCheckedChanged = "CheckBoxProcess_OnCheckedChanged" AutoPostBack="true" />

这可能是你的方法没有被调用的原因。

票数 73
EN

Stack Overflow用户

发布于 2012-07-07 03:48:44

请尝试使用DB检查该值:

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

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6596767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档