您的当前位置:首页正文

关于控件的生命过程

来源:九壹网

先不多说,看一段代码:
Default.aspx

 1  <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>
 2 
 3  <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
 4  < html  xmlns ="http://www.w3.org/1999/xhtml" >
 5  < head  runat ="server" >
 6       < title ></ title >
 7  </ head >
 8  < body >
 9       < form  id ="F"  runat ="server" >
10       < div >
11           < asp:GridView  ID ="GV"  runat ="server"  Width ="250px"  AutoGenerateColumns ="false" >
12               < Columns >
13                   < asp:TemplateField  HeaderText ="Name" >
14                       < ItemTemplate >
15                           < asp:TextBox  ID ="tbName"  runat ="server"  Text ='<%#Bind("Name")  % > '> </ asp:TextBox >
16                       </ ItemTemplate >
17                   </ asp:TemplateField >
18                   < asp:TemplateField  HeaderText ="Age" >
19                       < ItemTemplate >
20                           < asp:TextBox  ID ="tbAge"  runat ="server"  Text ='<%#Bind("Age")  % > '>
21                           </ asp:TextBox ></ ItemTemplate >
22                   </ asp:TemplateField >
23               </ Columns >
24           </ asp:GridView >
25           < br  />
26           < asp:Button  ID ="Button1"  runat ="server"  Text ="Save"  Width ="143px"  
27              onclick ="Button1_Click"   />
28       </ div >
29       </ form >
30  </ body >
31  </ html >
32 

后台代码:Default.aspx.cs
 1  using  System;
 2  using  System.Collections.Generic;
 3  using  System.Linq;
 4  using  System.Web;
 5  using  System.Web.UI;
 6  using  System.Web.UI.WebControls;
 7 
 8  public   class  Person
 9  {
10       public   string  Name {  get set ; }
11       public   int  Age {  get set ; }
12  }
13 
14  public   partial   class  _Default : System.Web.UI.Page
15  {
16       public  List < Person >  GetData()
17      {
18           return   new  List < Person >
19                      {
20                           new  Person{Name = " CsharpFarmer " ,Age = 26 },
21                           new  Person{Name = " Rose " ,Age = 24 }
22                      };
23      }
24 
25       protected   void  Page_Load( object  sender, EventArgs e)
26      {
27          GV.DataSource  =   this .GetData();
28          GV.DataBind();
29      }
30 
31       protected   void  Button1_Click( object  sender, EventArgs e)
32      {
33          var data  =   this .GetData();
34          data.Clear();
35           foreach  (GridViewRow gvr  in  GV.Rows)
36          {
37              data.Add( new  Person { Name  =  ((TextBox)gvr.FindControl( " tbName " )).Text, Age  =   int .Parse(((TextBox)gvr.FindControl( " tbAge " )).Text) });
38          }
39          GV.DataSource  =  data;
40          GV.DataBind();
41      }
42  }

取一段数据,然后绑定在GridView中,最后进行修改.
事实上无论我们怎么样点Save,我们会发现,数据始终没有变动,为什么呢?

要搞清这个问题,先看一下控件的生命周期.

转载于:https://www.cnblogs.com/CsharpFarmer/archive/2009/03/05/1403970.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Top