updatepanel中网格视图的命令字段不起作用

问题描述 投票:1回答:1

我有一个带有一些命令字段(删除,编辑)的网格视图,它们一直有效,直到我将网格视图放在更新面板中。它是一个asp.net网络表单。非常感谢...我不习惯使用asp.net

<h2><%: Title %>Contact List</h2>
<h3>click any contact to edit...</h3>

<asp:Button ID="insert1" runat="server" Height="21px" OnClick="insert1_Click" Text="new contact" />


<div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"  ChildrenAsTriggers="true" UpdateMode="Always">
        <ContentTemplate>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:contact_atidConnectionString %>"
    SelectCommand="SELECT * FROM [contact_list]"
    DeleteCommand="delete from [contact_list] where id=@id"></asp:SqlDataSource>
            <asp:GridView ID="GridView1" runat="server"
                AutoGenerateColumns="False" DataKeyNames="id"
                DataSourceID="SqlDataSource1" Height="30px"
                OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="453px"
                OnRowDeleted="GridView1_RowDeleted" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" EnablePersistedSelection="True" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Horizontal">
                <AlternatingRowStyle BackColor="#F7F7F7" />
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" ReadOnly="True" />
                    <asp:BoundField DataField="first name" HeaderText="first name" SortExpression="first name" />
                    <asp:BoundField DataField="last name" HeaderText="last name" SortExpression="last name" />
                    <asp:CommandField ShowDeleteButton="True" />
                    <asp:CommandField ShowSelectButton="True" />
                </Columns>
                <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
                <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
                <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
                <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
                <SortedAscendingCellStyle BackColor="#F4F4FD" />
                <SortedAscendingHeaderStyle BackColor="#5A4C9D" />
                <SortedDescendingCellStyle BackColor="#D8D8F0" />
                <SortedDescendingHeaderStyle BackColor="#3E3277" />
            </asp:GridView>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
c# asp.net gridview updatepanel
1个回答
0
投票

我发现了我的问题!我只是忘记了列表视图,命令按钮必须在更新面板中打开。这是正确的代码:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Always">
        <ContentTemplate>
            <asp:GridView ID="GridView1" runat="server"
                AutoGenerateColumns="False" DataKeyNames="id"
                DataSourceID="SqlDataSource1" Height="30px"
                OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="453px"
                OnRowDeleted="GridView1_RowDeleted" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" EnablePersistedSelection="True" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Horizontal"
                CssClass="table table-striped">
                <AlternatingRowStyle BackColor="#F7F7F7" />

                <Columns>
                    <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" ReadOnly="True" />
                    <asp:BoundField DataField="first name" HeaderText="first name" SortExpression="first name" />
                    <asp:BoundField DataField="last name" HeaderText="last name" SortExpression="last name" />
                    <asp:CommandField ShowDeleteButton="True" />
                    <asp:CommandField ShowSelectButton="True" />
                </Columns>
                <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
                <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
                <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
                <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
                <SortedAscendingCellStyle BackColor="#F4F4FD" />
                <SortedAscendingHeaderStyle BackColor="#5A4C9D" />
                <SortedDescendingCellStyle BackColor="#D8D8F0" />
                <SortedDescendingHeaderStyle BackColor="#3E3277" />
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server"
                ConnectionString="<%$ ConnectionStrings:contact_atidConnectionString %>"
                SelectCommand="SELECT * FROM [contact_list]"
                DeleteCommand="delete from [contact_list] where id=@id"></asp:SqlDataSource>
            <asp:Panel runat="server">
                <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource2" Visible="true">
                    <ItemTemplate>
                        <tr runat="server">
                            <td>
                                <asp:LinkButton ID="EditButton" runat="Server" Text="SAVE" CommandName="save" OnClick="EditButton_Click" CssClass="btn btn-default btn-lg" BackColor="MediumSpringGreen" />
                            </td>


                            <td>
                                <asp:TextBox ID="TextBox101" runat="Server" Text='<%#Eval("id") %>' Visible="false" class="form-control input-sm" />
                            </td>

                            <td>
                                <asp:TextBox ID="FirstNameLabel" runat="Server" Text='<%#Eval("first name") %>' class="form-control input-sm" />
                            </td>
                            <td>
                                <asp:TextBox ID="LastNameLabel" runat="Server" Text='<%#Eval("last name") %>' class="form-control input-sm" />
                            </td>
                            <td>
                                <asp:TextBox ID="TextBox1" runat="Server" Text='<%#Eval("[street]") %>' class="form-control input-sm" />
                            </td>
                            <td>
                                <asp:TextBox ID="TextBox5" runat="Server" Text='<%#Eval("born date") %>' class="form-control input-sm" />
                            </td>
                            <td>
                                <asp:TextBox ID="TextBox2" runat="Server" Text='<%#Eval("house number") %>' class="form-control input-sm" />
                            </td>
                            <td>
                                <asp:TextBox ID="TextBox3" runat="Server" Text='<%#Eval("telephone") %>' class="form-control input-sm" />
                            </td>
                            <td>
                                <asp:TextBox ID="TextBox4" runat="Server" Text='<%#Eval("pelephone") %>' class="form-control input-sm" />
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:ListView>
            </asp:Panel>
        </ContentTemplate>
    </asp:UpdatePanel>

谢谢 :)

© www.soinside.com 2019 - 2024. All rights reserved.