2011-11-16 20 views
4

私はテキストボックスにデータをロードする初期化関数を持っています。NameTextBox、次に「s」を追加します。 NameTextBox.Textの値をデバッグするときに、元の文字列(FirstName)で、FirstNamesではない場合は、SaveButton_Clickを実行する保存ボタンをクリックします。どうしてこれなの?ありがとう。ASP.NET:TextBox.Textに更新された値がありません

編集:申し訳ありませんが、ここであなたはより多くを必要とするなら、私に知らせて行く...

を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) 
+1

あなたのコードを短い形式で表示できますか?ライフサイクルの中でどこに「s」を追加しているかによって異なります。 –

+1

あなたはpage_loadの中にテキストボックスをバインドしていると思うので、追加ボタンをクリックすると、page_loadイベントが実行され、古い値がテキストボックスに返されます。イベントでデータをロードするコードを投稿してください。 – Mazen313

+0

@ Mazen313、ありがとう、ありがとう、私はしようとしないisPostBackそれから初期化()END IF編集**それは動作します! :)ありがとう! – daveomcd

答えて

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;} 
+2

ありがとうございます、あなたの権利。私はIF NOT isPostBackを追加する必要がありました:) – daveomcd

+1

無効なhtml入力フィールドは依然として要求と共にその値を送信します。それは単にクライアントによって編集することはできません。それは起こっている隠された要素のように動作します。しかし、あなたはここで実際の問題について正しいようです。 –

+1

@Andrew Barberはい無効なフィールドはまだ値をサーバに送り返しますが、それは最初の値しか持っていません。コメントの最初の部分が誤解を招いていたらごめんなさい(私はコーヒーの不足に責任がある)これを読んでいる人は、私たちが言っていることを理解しています。4guysFromRollaからこの記事をご覧ください。http://www.4guysfromrolla.com/demos/ProblemNotReturningDisabledControls.aspx – szeliga

関連する問題