该功能在.aspx文件中可以这样写:
<ItemTemplate>
    <asp:TextBox id=txtGrade runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Grade" ) %>'"></asp:TextBox>
</ItemTemplate>我现在想把这个绑定移到.cs文件的dgrdGrade_ItemDataBound事件中,我该怎么写呢?

解决方案 »

  1.   

    in Page_Init, add
    dgrdGrade.ItemDataBound += new DataGridItemEventHandler(dgrdGrade_ItemDataBound);
    ...void dgrdGrade_ItemDataBound(Object sender, DataGridItemEventArgs e) 
          {
     
             if((e.Item.ItemType == ListItemType.Item) || 
                 (e.Item.ItemType == ListItemType.AlternatingItem))
             {
     
                TextBox tb = e.Item.FindControl("txtGrade") as TextBox;
                tb.Text = DataBinder.Eval(e.Item.DataItem,"Grade").ToString();  
             }         
     
          }
      

  2.   

    或者void dgrdGrade_ItemDataBound(Object sender, DataGridItemEventArgs e) 
          {
     
             if((e.Item.ItemIndex>=0)
             { 
                TextBox tb =(TextBox) e.Item.FindControl("txtGrade");
                tb.Text = DataBinder.Eval(e.Item.DataItem,"Grade").ToString();  
             }
          }