<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
时,它可以正常工作。怎么了?
答案 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
事件按预期触发。