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

.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>

推荐答案

try 打开复选框控件的AutoPostBack.

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

这可能是您的方法没有被调用的原因.

Asp.net相关问答推荐

Visual Studio发布的网站得到错误类型JObject is not defined when page is load on server"''"

$(document).ready 不工作

如何在 ASP.NET 中设置自动实现属性的默认值

如何在asp.net中单击按钮的新选项卡中打开页面?

如何使用 executeReader() 方法仅检索一个单元格的值

如何在 ASP.NET WebForms 中实现 TDD

/应用程序中的服务器错误. ASP.NET

更新到 ASP.NET Core 2.0 - 包与 netcoreapp2.0 不兼容

ASP.NET MVC4 jquery/javascript 包的使用

AddDefaultTokenProviders:它是什么以及如何使用那些默认提供者?

显示单选按钮列表内联

在 Asp.net mvc5 中使用用户名而不是邮箱作为身份

如何在 asp net core api 中使用 Created(或 CreatedAtAction / CreatedAtRoute)

如何使用 ASP.NET 和 jQuery 返回 JSON

您正在使用哪些身份验证和授权方案 - 为什么?

如何从url中删除returnurl?

将当前谷歌 map 保存为图片

IISExpress 找不到使用 Visual Studio 2013 运行 localhost 的 ssl 页面

DateTime.Parse 和 Convert.ToDateTime 之间有什么区别?

System.Drawing.Image.FromFile() 上的内存不足异常