看了这里的各种帖子,但找不到一个很喜欢的帖子,我知道这会有点小,但我无法理解。
我在更新面板中使用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>
当它不在更新面板中时,我有完全相同的代码正常工作。我需要做些什么才能让它发挥作用?
编辑:忘记提及,我的更新面板设置都是默认设置。此外,您还会点击“删除”,弹出确认消息,单击“是”,然后没有任何反应。
答案 0 :(得分:1)
我只有编辑按钮有同样的问题,所有其他工作正常,我觉得很奇怪。所以我在编辑按钮上添加了一个onclick事件,它反弹了gridview并且它工作正常。使用断点,我看到gridview在第一次单击时正确设置了editIndex,但在第二次单击之前没有更改为editItem模板。希望这会给你一些想法。
答案 1 :(得分:0)
我认为你必须添加这个
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnFindOrder" EventName="Click" />
</Triggers>