Button Control无法使用RowCommand事件

时间:2013-03-13 13:57:11

标签: asp.net

<asp:TemplateField>
    <ItemTemplate>
        <asp:Button ID="lbShowGroup" CommandName="View" CommandArgument='<%# Eval("Topic") %>'
                            runat="server" Text="View"></asp:Button>
    </ItemTemplate>
</asp:TemplateField>

代码背后:

protected void tblTopics_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "View")
    {
        Response.Redirect("Group.aspx?Topic=" + e.CommandArgument.ToString());
    }
}

调试未到达RowCommand事件,但当我将按钮控件更改为LinkButton时,它可以正常工作。怎么了?

2 个答案:

答案 0 :(得分:4)

你是否在回发上数据网格?

只有当Page_Load重新加载数据(fe sorting,Paging)并且仅在适当的偶数处理程序。

所以将数据绑定包装在GridView中 - 检查:

PostBack

另一个可能的原因:你在某个地方禁用了protected void Page_Load(Object sender, EventArgs e) { if(!IsPostBack) { DataBindGrid(); } } 吗?

答案 1 :(得分:0)

我遇到了同样的问题,发现我的问题出在主页EnableViewState="false"

我更改了母版页以使用EnableViewState="True"  rowcommand事件按预期触发。