2013-07-25 45 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很多。 –