2013-06-24 56 views
0

我知道你们大多数人会说谷歌这一点。但我已经这样做了,仍然无法弄清楚为什么按钮事件点击数据仍然不会被插入到数据表中。 忽略数据本身,它是随机的。从ASP.Net格式插入数据到数据表

任何帮助将不胜感激。

 public void btnAddRow_Click(object sender, EventArgs e) 
    { 
     DataSet ds = (DataSet)(Session["DS"]); 
     TestGrid.DataSource = ds.Tables[0]; 
     ds.Tables[0].Rows.Add(); 

     DataTable dt = (DataTable)(Session["DT"]); 
     DataRow dr = null; 
     dr = dt.NewRow(); 



     //add values to each rows 
     dr["Title"] = txtTitle.Text; 
     dr["Year"] = txtYear.Text; 
     dr["Type"] = txtType.Text; 
     dr["Lead Actor"] = txtLeadActor.Text; 
     dr["Producer"] = txtProducer.Text; 
     dr["Director"] = txtDirector.Text; 

     dt.Rows.Add(dr); 
     TestGrid.DataSource = dt; 
     TestGrid.DataBind(); 

    } 

    private void SetInitialRow() 
    { 

     DataTable dt = new DataTable(); 
     DataRow dr = null; 
     Session["DT"] = dt; 

     //define the columns 
     dt.Columns.Add(new DataColumn("Title", typeof(string))); 
     dt.Columns.Add(new DataColumn("Year", typeof(string))); 
     dt.Columns.Add(new DataColumn("Type", typeof(string))); 
     dt.Columns.Add(new DataColumn("Lead Actor", typeof(string))); 
     dt.Columns.Add(new DataColumn("Producer", typeof(string))); 
     dt.Columns.Add(new DataColumn("Director", typeof(string))); 


     //create new row 
     dr = dt.NewRow(); 


     //add values to each rows 
     dr["Title"] = "Blade"; 
     dr["Year"] = "1989"; 
     dr["Type"] = "Action"; 
     dr["Lead Actor"] = "Wesley Snipes"; 
     dr["Producer"] = "Guy"; 
     dr["Director"] = "Dude"; 


     //add the row to DataTable 
     dt.Rows.Add(dr); 
     TestGrid.DataSource = dt; 
     TestGrid.DataBind(); 


    } 

回答

1

该代码看起来正确。

DataTable _table = new DataTable() 
DataRow _row = _table.NewRow() 
_table.Rows.Add(_row) 

我认为这可能是您的回传。在Rows.Add(_row)之后放置一个断点,并确保数据表具有数据。我认为数据在回发/页面加载时被删除。

+0

我想通了。非常简单的错误。代码是正确的,我从来没有在按钮事件本身调用它。 转折点是个好主意。 对不起,浪费时间>。> – messif