gridview排序时出发RowCommand事件,为什么?

cexbzxh 2016-12-23 10:56:56
我给GridView设置了排序,但现在一点击GridView标题,就会触发rowcommand事件,百思不得其解。
页面代码如下:

<asp:GridView ID="grdVisa" runat="server" CssClass="GridViewStyle"
AutoGenerateColumns="False"
EmptyDataText="没有可显示的数据记录。" Width="1610px"
onrowcommand="grdVisa_RowCommand"
onrowdatabound="grdVisa_RowDataBound"
AllowSorting="True"
AllowPaging="True"
PageSize="20"
HorizontalAlign="Center"
onpageindexchanging="grdVisa_PageIndexChanging" onsorting="grdVisa_Sorting" >
<Columns>
<asp:BoundField DataField="flag" HeaderText="流转状态" SortExpression="FLAG">
<ItemStyle Width="60px" />
</asp:BoundField>
<asp:BoundField DataField="sup_accept_flag" HeaderText="同意" SortExpression="sub_accept_flag">
<ItemStyle Width="60px" />
</asp:BoundField>
<asp:ButtonField CommandName="EditVisa" Text= "编辑"
DataTextField="editflag" >
<ItemStyle ForeColor="#0033CC" Width="40px" />
</asp:ButtonField>
<asp:BoundField DataField="occur_time" HeaderText="日期" SortExpression="occur_time">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="visa_no" HeaderText="签证编号" SortExpression="visa_no">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="reason" HeaderText="原因">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="contract_no" HeaderText="合同号">
<ItemStyle Width="200px" />
</asp:BoundField>
<asp:BoundField DataField="contract_name" HeaderText="合同名称" SortExpression="contract_name">
<ItemStyle Width="200px" />
</asp:BoundField>
<asp:BoundField DataField="site_engineer_name" HeaderText="现场工程师">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="builder_price_total" HeaderText="报审总价">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="audit_price_total" HeaderText=" 审定总价">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="pm_submit_name" HeaderText="录入人" SortExpression="SUBMIT_TIME">
<ItemStyle Width="80px" />
</asp:BoundField>
<asp:BoundField DataField="submit_time" HeaderText="录入时间" SortExpression="SUBMIT_TIME">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="visa_id" HeaderText="visa_id" />
<asp:BoundField DataField="attach_id" HeaderText="attach_id" />
<asp:BoundField DataField="sflag" HeaderText="sflag" />
</Columns>
<FooterStyle CssClass="GridViewFooterStyle" />
<RowStyle CssClass="GridViewRowStyle" />
<SelectedRowStyle CssClass="GridViewSelectedRowStyle" />
<PagerStyle CssClass="GridViewPagerStyle" />
<AlternatingRowStyle CssClass="GridViewAlternatingRowStyle" />
<HeaderStyle CssClass="GridViewHeaderStyle" />
</asp:GridView>


后台排序代码:
protected void grdVisa_Sorting(object sender, GridViewSortEventArgs e)
{
if (!string.IsNullOrEmpty(e.SortExpression))
{
ViewState["SortOrder"] = e.SortExpression;
ViewState["OrderDesc"] = ViewState["OrderDesc"].ToString().Trim() == "ASC" ? "DESC" : "ASC";
LoadData();
}
}
...全文
147 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cexbzxh 2016-12-23
  • 打赏
  • 举报
回复
屏蔽掉Rowcommand事件后,就可以正常排序。 我跟踪了一下,点击列标题后,本来应该去执行OnSorting事件的,却跑到了onRowCommand事件去,好奇怪啊。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧