首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView RowCommand事件未触发

GridView RowCommand事件未触发
EN

Stack Overflow用户
提问于 2011-12-14 03:06:35
回答 10查看 49.9K关注 0票数 20

我有一个看起来像这样的GridView:

代码语言:javascript
复制
<asp:GridView 
    ID="GridView1"
    AllowPaging="true"
    OnRowCommand="RowCommand"
    OnPageIndexChanging="gridView_PageIndexChanging"
    Runat="server">
    <Columns>
        ...
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Button ID="Button1" ButtonType="Button" CommandName="ItemExport" CommandArgument='<%# Eval("EXPORT") %>'
                    Text="Export" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
        ...
    </Columns>
 </asp:GridView>

这是RowCommand

代码语言:javascript
复制
protected void RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "ItemExport")
    {
        // etc.
    }
}

单击该按钮根本不会触发RowCommand事件。但是,当我在GridView的分页程序中单击一个页面索引时,RowCommand就会触发。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-12-14 03:55:39

在Page_Load中,您不能在回发时绑定网格,只有当发生了导致网格重新加载数据的更改时(F.E.排序、分页),并且仅在适当的事件处理程序中。

另一个可能的原因是:你在什么地方禁用了ViewState吗?

票数 53
EN

Stack Overflow用户

发布于 2015-04-30 20:38:25

在按钮标签中使用CausesValidation="false"。它可以解决这个问题。

票数 6
EN

Stack Overflow用户

发布于 2012-04-17 23:47:54

我的一个同事刚刚遇到了同样的问题;他的问题是由于没有在asp:GridView元素中设置onrowcommand=属性造成的。这应该设置为将要处理事件的处理程序的名称。

..。以防有人遇到同样的问题!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8494730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档