2014-04-15 45 views
0

我有在嚮導控制裏面的GridView控件,並且我在網格內有一個linkbutton,點擊它會改變嚮導的活動索引。 我有三個GridViewControls,我使用這些網格的RowCommand相同的事件,但它不工作,我嘗試應用斷點,但它沒有擊中斷點。 這是我的代碼網格視圖行命令事件不工作

w ID="GVUsers" runat="server" OnRowDataBound="GVUsers_RowDataBound" OnRowCommand="GVUsers_RowCommand" 
    OnRowDeleting="GVUsers_RowDeleting" AutoGenerateColumns="false" CssClass="table"> 
    <Columns> 
      <asp:TemplateField HeaderText="Crimes" ItemStyle-HorizontalAlign="Left"> 
       <ItemTemplate> 
        <asp:Label ID="Username" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Username") %>'></asp:Label> 
        <asp:Label ID="gender" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Gender") %>'></asp:Label>         
        <asp:Panel ID="divmsg" runat="server"> 
         <asp:LinkButton 
          ID="btnlnkpg18" runat="server" Text="Click here" CommandName="pg18"></asp:LinkButton> 
        </asp:Panel> 
       </ItemTemplate> 
       <asp:TemplateField> 
        <asp:TemplateField HeaderText="Delete" ItemStyle-HorizontalAlign="Left"> 
       <ItemTemplate> 
        <asp:LinkButton ID="delbtn" runat="server" Text="Delete" OnClientClick="return confirm('Do you really want to delete?');" 
         CommandName="delete" CommandArgument='<%#DataBinder.Eval(Container.DataItem, "UserId") %>' 
         CssClass="DeleteBtn"></asp:LinkButton> 
       </ItemTemplate> 
      <asp:TemplateField> 
    </Columns> 
</asp:GridView> 

protected void GVUsers_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     DataRow row = ((DataRowView)e.Row.DataItem).Row; 
     var lblgender= e.Row.FindControl("gender") as Label; 
     var divlnk=e.Row.FindControl("divmsg") as Panel; 

     if(lblgender.Text=="M")   
      divlink.Visible=true;    
     else 
      divlink.Visible=false;   
    } 
} 

protected void GVUsers_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "delete") 
    {    
      //Delete 
    } 

    if (e.CommandName == "pg18") 
    { 
      Wizard1.ActiveStepIndex = 16; 
    } 
} 

我也試過在的RowDataBound但沒有運氣,也刪除按鈕不工作設置的CommandName。 我喜歡這個

if(!Page.IsPostBack) 
{ 
//Bind GridView 
} 
+0

您的代碼是否達到'GVUsers_RowCommand'事件? –

+0

不,它沒有達到 –

+0

我已經嘗試使用如果(Page.IsPostBack)和綁定網格,它的工作正常與它 –

回答

0

賽義德數據綁定的GridView,嘗試這樣做:

1)你的RowDataBound事件重命名爲這樣的:

protected void temp() 

2)進入aspx頁面並刪除來自gridview的RowDataBound屬性。 3)在gridview仍然高亮顯示的情況下,點擊設計視圖。 4)在屬性點擊'事件'(閃電)。 4)雙擊RowDatabound框,在.cs中創建事件處理程序。 5)使用.cs中的RowDatabound添加對temp()的引用。 6)在RowDatabound中添加一個關於temp()的斷點並運行你的代碼。

看看它是否符合代碼,如果它確實將測試的所有內容複製到RowDataBound中。

+0

Nopes,它仍然不工作 –

+0

你可以檢查你的aspx頁引用它的代碼在後面頂部是這樣的:CodeBehind =「Page.aspx.cs」 – connersz

+0

是的,我已檢查,其引用,所有其他事件正在工作 –