使用datagridview的更新面板不会触发Rowcommand

时间:2014-10-28 13:01:34

标签: asp.net datagridview updatepanel rowcommand

我尝试在rowcommand事件上使用带有datagridview的更新面板来显示一个对话框。当我删除更新面板时,它工作正常,但它不起作用。

我使用更新面板尝试了以下配置,但它不起作用。

<asp:UpdatePanel ID="UpdatePaneldgv" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
 <Triggers >
 <asp:AsyncPostBackTrigger ControlID="dgvVehiclesType" EventName ="RowCommand" />
 </Triggers>
<ContentTemplate>                
<div class="tab-content">
 <div class="tab-pane fade in active">
 <asp:GridView ID="dgvVehiclesType" runat="server" GridLines="None" OnRowCommand="dgvVehiclesType_RowCommand" PageSize="10">
 <Columns>
 <asp:BoundField DataField="OptionID" HeaderText="# ID" ReadOnly="True"/>
 <asp:BoundField DataField="OptionName" HeaderText="Name" ReadOnly="True" />
 <asp:ButtonField ButtonType="Image" CommandName="cmdEdit" ImageUrl="~/img/view.png" />
 </Columns>
 </asp:GridView>
 </div>
 </div>
 </ContentTemplate>
 </asp:UpdatePanel>

Rowcommand后端事件

 switch (e.CommandName)
        {
            case "cmdEdit":
                //  show form            
ClientScript.RegisterStartupScript(GetType(), "Show", "<script> $('#formModal').modal('toggle');</script>");
                break;
            default:
                break;
        }

任何建议?或参考

1 个答案:

答案 0 :(得分:0)

我在GridView中看不到任何<asp:Button />。在GridView控件中单击按钮时会发生RowCommand方法。

此外,您不必使用触发器,您可以删除这些行。

我们可以在代码隐藏中看到你的RowCommand方法吗? 看起来应该是这样的:

public void dgvVehiclesType_RowCommand (object sender, EventArgs e)
{
  //do something
}

希望它有所帮助。