2013-07-25 74 views
0

我有一個文本框和一個更新按鈕:無法獲取文本框的更新的案文

文本框:

<asp:TextBox ID="txtFName" runat="server"></asp:TextBox> 

更新按鈕:

<asp:Button ID="btnUpdFName" runat="server"Text="Update" onclick="btnUpdFName_Click"/> 

我在頁面加載事件中做什麼我從數據庫中獲取的名字並指定它到文本框中如下:

txtFName.Text = dt.Rows[0][1].ToString(); 

現在,當我earases在文本框中如上設置爲頁面加載事件的文本和寫另一個名字,並按下更新按鈕,我想獲得新的文本輸入在按鈕單擊事件文本框,如下所示:

string FName = txtFName.Text; 

但問題是,每次我寫在文本框中輸入新文本的時候,我仍然得到相同的文本集形式的數據庫(dt.Rows [ 0] [1]的ToString())。 我無法從文本框中獲取當前文本,並且只能從頁面加載事件中的數據庫獲取初始值。

我遇到了什麼是編譯後,我的文本框標記變爲如下:

<input id="CPHcontent_txtFName" type="text" value="value set from db i.e. dt.Rows[0] [1].ToString()" name="ctl00$CPHcontent$txttxtFName"></input> 

文本框中送花兒給人有從數據庫設置相同的值。這就是爲什麼我每次獲得相同的價值,無論用戶在文本框中輸入的值。

現在告訴我如何獲取我的網頁後面文本框的更新值。您嘗試設置/讀一遍之前的onPageLoad

Thanx提前

+0

顯示你的頁面加載事件? –

回答

2

在asp.net webforms中,您應該分離用於設置數據的代碼來控制數據並將數據保存到數據庫。設置數據控制的方法之一 - 使用檢查

if (!IsPostBack) 
{ 
    txtFName.Text = dt.Rows[0][1].ToString(); 
} 

在頁面加載事件中。 否則,您將在每次加載頁面時覆蓋您爲文本框輸入的新文本。

0

設置文本框爲空或空。

2

您可能會覆蓋您在頁面加載事件中輸入的文本,因爲您沒有檢查它是否是回發。 請閱讀ASP.NET Page Life Cycle Overview瞭解更多信息。

+0

你是寫...我忘了綁定文本,如果不回發...現在我能夠得到的文本.. thax很多。 –