2011-01-06 144 views
1

我有一個gridview - GridView1。
我正在通過代碼在這個Gridview1中通過dyanamically添加行。
其中一列是從sqldatasource讀取的下拉列表。
文本框,下拉列表& sql數據源都是數組。
如果我更改了下拉列表的值,即使在頁面重新加載任何按鈕單擊事件後,它仍然保持其狀態。 這很好。 但是,不保留文本框的值。
說我在文本框中輸入「Hello World」&點擊「添加」按鈕,我想收集下拉列表中的文本值(我可以看到)&文本框中的值(返回空白) 請建議一種方法所以當添加按鈕點擊我可以檢索我輸入的文本框中的值。 每個文本框具有一個唯一的ID &我使用ID來得到其數值試圖
例如
保護子Add_Click(BYVAL發件人爲對象,BYVALË作爲System.EventArgs)處理add.click
{
昏暗valueinText = gettext的(1)現在.text區段 }
如果我在文本框中鍵入的 「Hello World」:gettext的(1),
Reults: valueinText = 「」動態文本框

在此先感謝

回答

1

您必須重置未綁定文本框的值,以便在回發時從代碼中獲取其值。在你的頁面加載事件...

If Page.IsPostback Then 

    'Code that uses dropdownlistAtoZ.SelectedValue 
    'to fill in correct value for Textboxes. 

End If 
0

我試圖在每個page_load事件上創建相同的文本框。但是這只是刪除了他們的client_ID不斷變化的值&。

相反,我嘗試製作所有文本框共享和創建它們只有一次添加單擊事件,將它們添加到行(這是再次共享)和page_load如果page.postback = true我剛剛添加行到表再次。如果您不這樣做,則在重新加載時不會顯示該行。

這解決了我的問題(現在在文本框中輸入的值不像以前那樣清除)。 我通過classname.textboxname(i).text訪問了該值。

現在的解決方案似乎很明顯,但我花了幾天試圖解決這個問題。

謝謝!