删除链接按钮不在更新面板内的网格视图内触发

时间:2010-09-10 15:56:38

标签: .net gridview updatepanel

看了这里的各种帖子,但找不到一个很喜欢的帖子,我知道这会有点小,但我无法理解。

我在更新面板中使用gridview。 gridview使用自动生成的删除列转换为templatefield列。这是代码:

<asp:GridView ID="gvFiles" runat="server" AutoGenerateColumns="False" 
        CellPadding="4"
        ForeColor="#333333" GridLines="None">
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <Columns>
            <asp:TemplateField HeaderText="Files" HeaderStyle-HorizontalAlign="Left">

            <ItemStyle Width="210px" />
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("Id", "~/Download.aspx?id={0}")%>'><%#Eval("LinkName")%></asp:HyperLink>,<br />
                Last Modified: <%#Me.cutDate(Eval("DateModified"))%>
            </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField ShowHeader="False" HeaderText="Team">
            <ItemStyle Width="150px" />
            <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
                <ItemTemplate>
                    <%#Me.GetTeamName(Eval("TeamId"))%>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField ShowHeader="False">
                <ItemTemplate>
                    <asp:LinkButton ID="lbDelete" runat="server" CausesValidation="False" 
                        CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this post?');"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>

        </Columns>
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#999999" />
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    </asp:GridView>

当它不在更新面板中时,我有完全相同的代码正常工作。我需要做些什么才能让它发挥作用?

编辑:忘记提及,我的更新面板设置都是默认设置。此外,您还会点击“删除”,弹出确认消息,单击“是”,然后没有任何反应。

2 个答案:

答案 0 :(得分:1)

我只有编辑按钮有同样的问题,所有其他工作正常,我觉得很奇怪。所以我在编辑按钮上添加了一个onclick事件,它反弹了gridview并且它工作正常。使用断点,我看到gridview在第一次单击时正确设置了editIndex,但在第二次单击之前没有更改为editItem模板。希望这会给你一些想法。

答案 1 :(得分:0)

我认为你必须添加这个

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnFindOrder" EventName="Click" />
</Triggers>