C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: viewstateについて


(過去ログ 73 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■42565 / inTopicNo.1)  viewstateについて
  
□投稿者/ 今年はVB.NET (2回)-(2009/10/18(Sun) 09:32:06)

分類:[.NET 全般] 

こんにちは

asp:linkbuttonタグを使って、同じ画面をあたかも
違う画面のようにしたいのですが、
linkbuttonをクリックしたイベントで
viewstateをクリアしても、textboxの情報がクリアされずに
画面に表示されてしまいます

textboxの数がたくさんあるので、ひとつひとつクリアするのは大変と考え
viewstate.clear()したのですが、うまくいきません

別の方法でもかまいません

画面を初期化する方法があれば教えてください
引用返信 編集キー/
■42569 / inTopicNo.2)  Re[1]: viewstateについて
□投稿者/ たくボン (264回)-(2009/10/18(Sun) 11:04:10)
No42565 (今年はVB.NET さん) に返信
> linkbuttonをクリックしたイベントで
> viewstateをクリアしても、textboxの情報がクリアされずに
> 画面に表示されてしまいます

うん。イベントが発生する時点でViewStateの値はサーバ側で復元されて、プロパティにセットされるからね。
セットされたプロパティと元の値が異なることで、イベントを起こしてるんだからイベントが呼ばれた時点でViewStateをクリアしても意味はないと思う。


> 画面を初期化する方法があれば教えてください
For Eachでコントロールぐるぐるして、TextBoxだったらキャストしてTextを初期化。パネルとかでコントロールを入れ子にしてるなら再帰でぐるぐる。

ってASPでもできましたよね?(最近ASP触って無いから未検証)
引用返信 編集キー/
■42570 / inTopicNo.3)  Re[2]: viewstateについて
□投稿者/ 今年はVB.NET (4回)-(2009/10/18(Sun) 13:06:18)
No42569 (たくボン さん) に返信
> ■No42565 (今年はVB.NET さん) に返信
>>linkbuttonをクリックしたイベントで
>>viewstateをクリアしても、textboxの情報がクリアされずに
>>画面に表示されてしまいます
>
> うん。イベントが発生する時点でViewStateの値はサーバ側で復元されて、プロパティにセットされるからね。
> セットされたプロパティと元の値が異なることで、イベントを起こしてるんだからイベントが呼ばれた時点でViewStateをクリアしても意味はないと思う。
>
>
>>画面を初期化する方法があれば教えてください
> For Eachでコントロールぐるぐるして、TextBoxだったらキャストしてTextを初期化。パネルとかでコントロールを入れ子にしてるなら再帰でぐるぐる。
>
> ってASPでもできましたよね?(最近ASP触って無いから未検証)

早速、回答ありがとうございます

コントロールの数が半端ではないので、やり方を変えます

一回、裏画面を用意してその画面から、こちらを再度呼ぶようにします

linkbuttonコントロールの場合、値の変化に関係なく発生するイベントなので
クリアすることが可能かと思っていました


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -