2011-07-07 33 views
7

Tôi đã tìm ra giải pháp, tôi chỉ muốn gửi nó vì vậy đây có thể hữu ích cho một số ngườiRowcommand không sa thải sau khi nút nhấn

Đây là nút đó sử dụng lệnh

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

Lệnh Row không kích hoạt khi nút được nhấp.

Trả lời

10

Vấn đề là trên Page_Load tôi sử dụng Databind() lệnh trên GridView Tôi đang sử dụng rowcommand, có vẻ như sau khi DataBind(), rowcommand bị hủy.

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

Vì vậy, tôi khắc phục vấn đề này bằng cách ràng buộc dữ liệu chỉ khi tải đầu tiên.

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

cảm ơn chia sẻ – Devjosh

1

Bạn có thể đã thực hiện EnableViewState="false" trong lưới.

Nếu trường hợp này xảy ra, Rowcommand Event cũng sẽ không kích hoạt.

Bạn đã thực hiện EnableEventValidation="true" trên trang.

Nếu trường hợp này xảy ra, RowCommand Event sẽ không kích hoạt, đặt giá trị này thành false.

Giải pháp là đặt thành đúng.

+0

Bật ViewState là chìa khóa cho tôi, cảm ơn một nhà máy. – KE50

+0

Tôi đăng sáu năm trước đây và tôi không làm việc trên ASP.NET Webform nữa nhưng cảm ơn bạn đã trả lời của bạn. Điều này sẽ hữu ích cho những người khác :) –

Các vấn đề liên quan