1

我在 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?

4

1 回答 1

0

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

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

尽管您的解决方案应该可以工作,但更简单的解决方案是将 Button 直接绑定到字段值。例如

<asp:Button runat="server" Enabled='<%# Eval("m_XStatus") = "Y" #>' />
于 2013-11-27T03:27:41.440 回答