编辑:2012年2月7日 - 在排序之后,关键参数从GridView编辑链接中消失,所以它看起来似乎不是寻呼机,但问题仍然存在......任何想法都非常欢迎。
我有一个Asp.Net动态数据应用。它使用Custom List.aspx中的标准GridViewPager.aspx,它标记如下:
<asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" EnablePersistedSelection="True" CssClass="DDGridView" HeaderStyle-CssClass="th" RowStyle-CssClass="td" CellPadding="6" AllowSorting="True" AllowPaging="True" PageSize="3"
OnRowDataBound="GridView_OnRowDataBound" OnRowDeleting="GridView_OnRowDeleting">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LoginView ID="LoginView1" runat="server">
<RoleGroups>
<asp:RoleGroup Roles="admin">
<ContentTemplate>
<asp:DynamicHyperLink ID="EditLink" runat="server" Action="Edit" Text="edit" />
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Delete" Text="delete" OnClientClick='return confirm("Are you sure you want to delete this item?");' />
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle CssClass="DDFooter" />
<PagerTemplate>
<asp:GridViewPager runat="server" />
</PagerTemplate>
<EmptyDataTemplate>
There are currently no items in this table.
</EmptyDataTemplate>
</asp:GridView>
在列表的第1页上一切都很好。呈现的编辑链接包括?key=xxxxx
,编辑表单将打开正确的记录。
然而,一旦我们关闭第1页,每行上呈现的编辑链接都没有'key'参数,编辑表单始终打开到数据库的第一行。
我无法解释这个甚至在哪里看。没有自定义代码附加到与Edit DynamicHyperlink或GridviewPager关联的任何事件。
有没有人经历过这个问题,或者对可能出现的问题有任何建议?
答案 0 :(得分:0)
在这里找到答案:
LinkButton CommandArgument is empty when it is inside LoginView in a GridView
原来很好'微软忘记连接LoginView来触发GridView中的行级数据绑定事件。没有数据绑定,没有链接参数!
出于对积极态度的尊重,我不会对允许出门的组织程度作出评论....