我在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?
答案 0 :(得分:0)
RowCreated事件将在命中RowCommand事件之前触发,因为子控件(即行)将在回发时创建,然后才能从它们访问值。
在两者中设置断点并查看它们是否都被触发。
虽然您的解决方案应该可行,但更简单的解决方案是将Button直接绑定到字段值。 E.g。
<asp:Button runat="server" Enabled='<%# Eval("m_XStatus") = "Y" #>' />