搜索gridview后,ASP.NET C#checbox选择

时间:2014-01-02 10:12:34

标签: c# asp.net gridview cookies updatepanel

我的更新面板有问题,其中包含gridview(动态生成)。 gridview中的每一行都包含checbox,人名和人姓。 当用户单击关闭按钮时,所选行的每个值(名称)都保存在cookie中(使用jquery和asp.net-hidden值)。那是行得通的。

此处出现问题: 我也有可能搜索姓名或姓氏,因为有很多人,这应该帮助用户快速找到合适的人。 假设我有这些数据:

  

Checbox1 John Doe

     

Checkox2 Michael Clark

已选择Checbox1(John Doe)。

因此,当我在姓氏文本框中键入Clark并单击按钮"搜索" gridview再次生成,有一行(Michael Clark)。当用户选择Michael Clark的checbox并单击关闭按钮时,cookie只有一个值(Michael Clark,John Doe在逻辑上缺失)。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Panel ID="Panel1" runat="server" DefaultButton="isciPodjetja">
            <asp:TextBox ID="namePerson" runat="server" />
            <asp:TextBox ID="surnamePerson" runat="server" />
            <asp:Button ID="Searchperson" runat="server" Text="Search" OnClick="Serachperson_Click" />
        </asp:Panel>
        <p />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:TemplateField HeaderText="SelectALL">
                    <HeaderTemplate>
                        <asp:CheckBox ID="chkBxHeader" runat="server" onclick="javascript:SelectAllCheckboxes1(this);" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkSelected" runat="server" OnCheckedChanged="chkSelected_CheckedChanged"/>
                    </ItemTemplate>                   
                </asp:TemplateField>
                <asp:BoundField DataField="NAME" HeaderText="Name of person"></asp:BoundField>
                <asp:BoundField DataField="SURNAME" HeaderText="Surname of person" </asp:BoundField>
            </Columns>
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

任何想法如何更轻松地实现搜索?我尝试将OnCheckedChanged添加到checbox,但autopostback不能正常工作(当我点击checbox时会检查一秒,然后再次取消选中)。

对我来说最好的解决方案是,当用户点击搜索按钮时,不仅仅是悬停显示在正确的行上。有可能吗?

2 个答案:

答案 0 :(得分:0)

您必须在javascript begin requestend request中开发两个函数。您必须在onbeginrequest()onendrequest()中编写javascript或jquery函数,然后才会编写被解雇。请检查一下。

答案 1 :(得分:0)

我解决了我的问题。我使用了来自https://github.com/riklomas/quicksearch的javascript quicksearch插件。