use Response.Write(t.Text) to write out what is in your TextBox t, also, add an ID to your TextBox, then do
TextBox t = ((TextBox)(e.Item.FindControl("YourTextBoxID"))).Text

解决方案 »

  1.   

    你这样的情况可能是
    每次都在 Page_Load 事件中将 DataGrid 的值都 Bind了一次。
    对DataGrid进行edit,update时,都会调用 Page_Load 事件。
    请 
    你试试
    if ( !IsPostBack) //页面非提交时的Page_Load
    {
    //在这里对 DataGrid进行数据绑定
    }
      

  2.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    dataSetResource=new System.Data.DataSet();
    if (Page.IsPostBack) 
    {
    WebClient.localhost.Resource ws = new WebClient.localhost.Resource();
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
    dataSetResource.Clear();
    string Resource=this.DropDownListResourceName.Items[this.DropDownListResourceName.SelectedIndex].Text;
    string begindate=this.TextBoxBeginDate.Text;
    string enddate=this.TextBoxEndDate.Text;
    string sqlstatemant = "select * from 资源管理 where (资源名='" +
    Resource + "') and ((开始时间 between '" + begindate + "' and '" +
    enddate + " 23:59') or (结束时间 between '" + begindate + "' and '" +
    enddate + " 23:59') or (开始时间<='" + begindate + "' and 结束时间 >='" +
    enddate + " 23:59'))";
    dataSetResource.Merge(ws.GetData(sqlstatemant,"Resource"));
    DataGridResource.DataSource=dataSetResource;
    DataGridResource.DataBind();
    }
    }private void DataGridResource_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    int row=Convert.ToInt32(e.Item.ItemIndex);
    TextBox t = (TextBox)(e.Item.Cells[0].Controls[0]);
    dataSetResource.Tables[0].Rows[row]["开始时间"]=t.Text;
    WebClient.localhost.Resource ws = new WebClient.localhost.Resource();
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
    ws.UpdateData("select * from 资源管理","Resource",dataSetResource);
    DataGridResource.EditItemIndex = -1;
    DataGridResource.DataBind();
    }