我已经找到了解决方案,我只是想发布它,所以这可能对某些人有用
这是使用命令的按钮
<dxwgv:ASPxGridView ID="gdvxUsers" runat="server" AutoGenerateColumns="False" Width="100%" KeyFieldName="UserName" onrowcommand="gdvxUsers_RowCommand">
<Columns>
<dxwgv:GridViewDataTextColumn Caption="Edit" VisibleIndex="0" Width="0px">
<DataItemTemplate>
<asp:ImageButton ID="imbEdit" runat="server"
CommandName = "Edit"
ImageUrl="~/images/icon/Edit-icon.png" ClientIDMode="Static" />
</DataItemTemplate>
</dxwgv:GridViewDataTextColumn>
</dxwgv:ASPxGridView>
protected void gdvxUsers_RowCommand(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewRowCommandEventArgs e)
{
switch (e.CommandArgs.CommandName)
{
case "Edit":
break;
}
}
单击按钮时不会触发行命令。
最佳答案
问题是,在 Page_Load
上,我在使用 Databind()
的 gridview 上使用 rowcommand
命令,似乎在 DataBind()
之后, rowcommand
被取消。
protected void Page_Load(object sender, EventArgs e)
{
gdvxUsers.DataSource = GetAllUserAndRole();
gdvxUsers.DataBind();
}
所以我通过只在第一次加载时绑定(bind)数据来解决这个问题。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gdvxUsers.DataSource = GetAllUserAndRole();
gdvxUsers.DataBind();
}
}
关于c# - 单击按钮后不会触发 Rowcommand,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6606207/