GridView的Button执行除RowCommand之外的其他事件

时间:2013-11-26 22:46:59

标签: asp.net vb.net gridview rowcommand

我在ASP.net中使用带有预先添加按钮的GridView。 GridView的数据源来自BookingRowStatus

列表
BookingRowStatus(Row, m_AStatus, m_BStatus, m_CStatus, m_DStatus, m_EStatus, m_FStatus)

您可以看到的参数是列。我添加了RowCreated事件以检查m_XStatus以启用/禁用按钮,具体取决于其中的文本(“X”=禁用|“Y”=启用)。

接下来我添加了一个RowCommand事件,该事件应该在单击GridView中的按钮时捕获该事件。但是,每当我单击该按钮时,它都会调用RowCreated而不是RowCommand。我在两个上述事件中添加了一个断点,我可以看到它甚至没有通过RowCommand;它直接进入RowCreated。

我的问题是当我按下DataGrid上的按钮时如何调用RowCommand?

1 个答案:

答案 0 :(得分:0)

RowCreated事件将在命中RowCommand事件之前触发,因为子控件(即行)将在回发时创建,然后才能从它们访问值。

在两者中设置断点并查看它们是否都被触发。

虽然您的解决方案应该可行,但更简单的解决方案是将Button直接绑定到字段值。 E.g。

<asp:Button runat="server" Enabled='<%# Eval("m_XStatus") = "Y" #>' />