2013-05-29 151 views
1

我有一個gridview插入值到數據庫,但它總是顯示最新值(我使用標籤測試)。我想讓它在網格視圖中輸入每行的數據庫(多行)值中的所有值,以便插入到數據庫中的多行中。爲循環值保存到數據庫

這裏是我的網格視圖:

enter image description here

我需要每一行的值保存到數據庫中。這裏是我的代碼:

protected void btnCreate_Click(object sender, EventArgs e) 
{ 
    if (int.TryParse(testLabel.Text, out number))//Click count 
    { 
     testLabel.Text = (++number).ToString(); 
    } 

    DataTable dt = (DataTable)ViewState["CurrentTable"]; 
    if (dt.Rows.Count > 0) 
    { 
     for (int i = 0; i < dt.Rows.Count; i++) 
     { 
      TextBox box1 = (TextBox)GridView1.Rows[i].Cells[1].FindControl("TextBox1"); 
      TextBox box2 = (TextBox)GridView1.Rows[i].Cells[2].FindControl("TextBox2"); 

      Model.question act = new Model.question(); // Entity Model CRUD 
      act.Answer = box2.Text; //Always show the last value. 
      act.QuestionContent = box1.Text; // Always show the last value. 
      act.TaskName = "Grammar"; 
      act.ActivityName = dropListActivity.SelectedItem.Text; 
      act.QuestionNo = testLabel.Text; 

      daoQuestion.Insert(act);  
     } 

     daoQuestion.Save(); 
    } 
} 
+0

什麼是'ViewState [「CurrentTable」]',是GridView的源代碼? –

+0

我將數據存儲在viewstate中。 – user2376998

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

回答

1

TextBox1和TextBox2在整個網格中都是一樣的。通過從不同的網格中選擇TextBox1和TextBox2不會有幫助,您只需從相同的兩個文本框中獲取值即可。

嘗試將文本框添加到列表中,然後獲取文本並插入到數據庫中。

要將TextBox添加到列表中,您可以執行此操作。

List<TextBox> tbList = new List<TextBox>(); 
tbList.Add(new TextBox{ Name="textbox"+i++ }); 

隨後,要抓住數值,就這樣做。

for(int i = 0; i < tbList.Count; i++) 
{ 
    //To see the data you're inserting into database. 
    Response.Write(tb[i].Text); 
    Response.Write(tb[i+1].Text); 
    //Insert into database based on your code. 
    daoQuestion.Insert(new Model.question 
    { 
     Answer = tb[i].Text, 
     QuestionContent = tb[++i].Text, 
     TaskName = "Grammar", 
     ActivityName = dropListActivity.SelectedItem.Text, 
     QuestionNo = testLabel.Text 
    }); 
    daoQuestion.Save(); 
} 
+0

是的,但我如何保存每個值到數據庫? – user2376998

+0

更新了答案,試試吧。 – Jieqin

+0

wad名稱=文本框中的名稱是指? – user2376998