ASP.NET:TextBox.Text没有更新的值

dav*_*mcd 4 vb.net asp.net textbox

我有一个初始化函数,将数据加载到我的文本框中NameTextBox,然后我在名称中添加一个"s".然后我单击SaveButton_Click调试NameTextBox.Text的值时执行的保存按钮仍然是原始字符串(FirstName)而不是(FirstNames).为什么是这样?谢谢.

编辑:对不起,如果您需要更多,请告诉我们...

Page_Load(发件人,e)

Info = GetMyInfo()
Initialize()
Run Code Online (Sandbox Code Playgroud)

初始化()

NameTextBox.Text = Info.Name
Run Code Online (Sandbox Code Playgroud)

SaveButton_Click(发件人,e)

Dim command As SqlCommand

command = GetSQLCommand("StoredProcedure")
command.Parameters.AddWithValue("@Paramter", NameTextBox.Text)
ExecuteSQLCommand(command)
Run Code Online (Sandbox Code Playgroud)

小智 12

如果文本框被禁用,它将不会被持久化回代码隐藏,如果您每次都设置初始值(不管IsPostBack),您实际上是在写入事件处理程序(SaveButton_Click)时的值.例如:

page_load() { NameTextBox.Text = "someValue";}
....

saveButton_Click() { string x = NameTextBox.Text;}
Run Code Online (Sandbox Code Playgroud)

上面的代码将始终使文本框的文本值为"someValue".您需要将其包装在if(!IsPostBack)中,如此....

page_load() { if(!IsPostBack) {NameTextBox.Text = "someValue";}}
....

saveButton_Click() { string x = NameTextBox.Text;}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,是的,你的权利.我需要添加IF NOT isPostBack :) (2认同)
  • 我明白你的意思了.回答+1,顺便说一下. (2认同)