2011-07-07 36 views
7

我已經找到了解決辦法,我只是想將它張貼所以這可能對一些人有用後Rowcommand不火點擊按鈕

這是使用命令

<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; 
     } 
    } 

該行命令不火。

回答

10

的問題是,在Page_Load我對我使用rowcommand GridView的使用Databind()命令,似乎DataBind()後,rowcommand被取消。

protected void Page_Load(object sender, EventArgs e) 
    { 
      gdvxUsers.DataSource = GetAllUserAndRole(); 
      gdvxUsers.DataBind();    
    } 

因此,我通過僅在第一次加載時綁定數據來解決此問題。

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      gdvxUsers.DataSource = GetAllUserAndRole(); 
      gdvxUsers.DataBind(); 
     } 
    } 
+3

感謝分享 – Devjosh

1

您可能在網格中製作了EnableViewState="false"

如果是這種情況,Rowcommand Event也不會觸發。

您已使EnableEventValidation="true"在頁面上。

如果是這種情況,RowCommand Event不會啓動,請將此設置爲false。

解決方法是將其設置爲true。

+0

Enable ViewState對我來說是關鍵,謝謝磨坊。 – KE50

+0

我在六年前發佈了這篇文章,我不再在ASP.NET Webform上工作了,但是謝謝你的回覆。這對其他人會有用:) –