How to handle control event in Content Page ?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mentor
    New Member
    • Mar 2007
    • 24

    How to handle control event in Content Page ?

    The GridView in Cotent page cause an updating event, but the handling methond won't be executed. The Row Count of the GridView is Zero, but in fact it's not zero.

    Why?

    Code:
        <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
          <asp:GridView ID="gvtitles" runat="server" CssClass="wtable" AutoGenerateColumns="False" OnRowDeleting="gvDeleteItem" OnRowCancelingEdit="gvCancel" OnRowEditing="gvOnEditing" OnRowUpdating="gvUpdateItem" > 
              <Columns>
                 <asp:BoundField DataField="Title" HeaderText="Subject" HeaderStyle-Width="70%" /> 
                 <asp:CommandField EditText="Modify" ShowEditButton="True" />    
                 <asp:TemplateField HeaderText="Edit"> 
                     <ItemTemplate>
                            <a href='edithelp.aspx?helpid=<%# Eval("Id") %>'>View</a>
                     </ItemTemplate> 
                 </asp:TemplateField> 
                 <asp:CommandField ShowDeleteButton="True" /> 
               </Columns> 
        </asp:GridView>


    Code:
        protected void BindPage()
        {
           gvtitles.DataSource =GetTitles(); // get datatable 
           Page.DataBind(); 
        }
        protected void gvDeleteItem(object sender, GridViewDeleteEventArgs e)
        {
            int itemid = Convert.ToInt32(gvtitles.Rows[e.RowIndex].Cells[0].Text); 
           DeleteTitle(itemid); // delete BindPage(); 
        } 
        protected void gvUpdateItem(object sender, GridViewUpdateEventArgs e)
        { 
            int itemid = Convert.ToInt32(gvtitles.Rows[e.RowIndex].Cells[0].Text); 
            string htitle = gvtitles.Rows[e.RowIndex].Cells[1].Text; 
            UpdateTitle(itemid, htitle );     // update 
            gvtitles.EditIndex = -1; 
            BindPage(); 
        } 
        protected void gvOnEditing(object sender, GridViewEditEventArgs e) 
        {
           gvtitles.EditIndex = e.NewEditIndex; 
           BindPage(); 
        }
        protected void gvCancel(object sender, GridViewCancelEditEventArgs e) 
        {
           gvtitles.EditIndex = -1; 
           BindPage(); 
        }


    The Method gvUpdateItem()w on't be executed, while Method gvDeleteItem()c an be executed. When executing gvDeleteItem(), gvtitles.Rows.C ount =0 which is not the fact.

    How to handle OnRowUpdating Event, Anyone can help ?
Working...