我有一个初始化函数,可以将数据加载到我的文本框NameTextBox
中,然后在名称中添加“s”。然后在调试NameTextBox的值时单击执行SaveButton_Click
的保存按钮.Text仍然是原始字符串(FirstName)而不是(FirstNames)。为什么是这样?感谢。
编辑:对不起,如果您需要更多信息,请告诉我......
Page_Load(发件人,e)
Info = GetMyInfo()
Initialize()
初始化()
NameTextBox.Text = Info.Name
SaveButton_Click(发件人,e)
Dim command As SqlCommand
command = GetSQLCommand("StoredProcedure")
command.Parameters.AddWithValue("@Paramter", NameTextBox.Text)
ExecuteSQLCommand(command)
答案 0 :(得分:12)
如果文本框被禁用,它将不会被持久化回代码隐藏,如果你每次都设置初始值(不管IsPostBack)你基本上都在写它到达事件处理程序时的值(SaveButton_Click) 。例如:
page_load() { NameTextBox.Text = "someValue";}
....
saveButton_Click() { string x = NameTextBox.Text;}
上面的代码将始终使文本框的文本值为“someValue”。您需要将其包装在if(!IsPostBack)中,如此......
page_load() { if(!IsPostBack) {NameTextBox.Text = "someValue";}}
....
saveButton_Click() { string x = NameTextBox.Text;}