我尝试在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;
}
任何建议?或参考
答案 0 :(得分:0)
我在GridView中看不到任何<asp:Button />
。在GridView控件中单击按钮时会发生RowCommand方法。
此外,您不必使用触发器,您可以删除这些行。
我们可以在代码隐藏中看到你的RowCommand方法吗? 看起来应该是这样的:
public void dgvVehiclesType_RowCommand (object sender, EventArgs e)
{
//do something
}
希望它有所帮助。