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

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

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

Re[10]: viewstateについて


(過去ログ 43 を表示中)

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

■22936 / inTopicNo.1)  viewstateについて
  
□投稿者/ 気合 (13回)-(2008/08/06(Wed) 01:15:45)

分類:[C#] 

C#開発です

どうしても行き詰った事があるため宜しくお願い致します。

ページにユーザコントロールが複数あります。
それぞれはenableviewsteteは基本的にtrueです。それぞれはもう変更ができない状況の為ここだけは変えられません。

そこでご質問ですが、使っていない時はviewsteteはFalseにしてみたのですがユーザコントロールを複数ページ内で呼ぶたびにソースのVIEWSTETEが増えていきます。一度入れたものが削除されていないようです。ViewStete.Clear()を試しましたが消えません。
消えないというのは開いた文のViewSteteの量が確実に残っております。

どのようにしたらよいものでしょうか。
宜しくお願い致します。データ量が大量の為ViewSteteにたまりラウンドトリップがかかりパフォーマンスが落ちております。

お願いします。
引用返信 編集キー/
■22942 / inTopicNo.2)  Re[1]: viewstateについて
□投稿者/ やじゅ (518回)-(2008/08/06(Wed) 09:42:35)
やじゅ さんの Web サイト
No22936 (気合 さん) に返信
> C#開発です
>
> そこでご質問ですが、使っていない時はviewsteteはFalseにしてみたのですがユーザコントロールを複数ページ内で
> 呼ぶたびにソースのVIEWSTETEが増えていきます。一度入れたものが削除されていないようです。ViewStete.Clear()を試しましたが消えません。
> 消えないというのは開いた文のViewSteteの量が確実に残っております。
>
> どのようにしたらよいものでしょうか。
> 宜しくお願い致します。データ量が大量の為ViewSteteにたまりラウンドトリップがかかりパフォーマンスが落ちております。
>

ASP.NETはさわったことが無いので、適当に検索してみた。
ViewStateをセッションに保存する
http://d.hatena.ne.jp/entlib/20070221/1172058201


分類を「C#」ではなく、「ASP.NET C#」にして下さい。
ステートの綴りは正確に、 viewstete → viewstate

引用返信 編集キー/
■23011 / inTopicNo.3)  Re[2]: viewstateについて
□投稿者/ 気合 (15回)-(2008/08/07(Thu) 00:30:06)
No22942 (やじゅ さん) に返信
> ■No22936 (気合 さん) に返信
>>C#開発です
>>
>>そこでご質問ですが、使っていない時はviewsteteはFalseにしてみたのですがユーザコントロールを複数ページ内で
>>呼ぶたびにソースのVIEWSTETEが増えていきます。一度入れたものが削除されていないようです。ViewStete.Clear()を試しましたが消えません。
>>消えないというのは開いた文のViewSteteの量が確実に残っております。
>>
>>どのようにしたらよいものでしょうか。
>>宜しくお願い致します。データ量が大量の為ViewSteteにたまりラウンドトリップがかかりパフォーマンスが落ちております。
>>
>
> ASP.NETはさわったことが無いので、適当に検索してみた。
> ViewStateをセッションに保存する
> http://d.hatena.ne.jp/entlib/20070221/1172058201
>
>
> 分類を「C#」ではなく、「ASP.NET C#」にして下さい。
> ステートの綴りは正確に、 viewstete → viewstate


参考URL拝見いたしましたが、すみません、まだ自分の理解できていないところとは
少し違うようです。

クライアント側のソースにつくVIEWSTATEを一度クリアしたいのですがそういったことは
可能でしょうか?


>
引用返信 編集キー/
■23013 / inTopicNo.4)  Re[3]: viewstateについて
□投稿者/ やじゅ (521回)-(2008/08/07(Thu) 00:44:48)
やじゅ さんの Web サイト
No23011 (気合 さん) に返信
> クライアント側のソースにつくVIEWSTATEを一度クリアしたいのですがそういったことは
> 可能でしょうか?
>

ViewState.Clear(); とか ViewState.Remove("hoge");
なのかなー、適当

引用返信 編集キー/
■23068 / inTopicNo.5)  Re[4]: viewstateについて
□投稿者/ 気合 (16回)-(2008/08/08(Fri) 00:44:01)
No23013 (やじゅ さん) に返信
> ■No23011 (気合 さん) に返信
>>クライアント側のソースにつくVIEWSTATEを一度クリアしたいのですがそういったことは
>>可能でしょうか?
>>
>
> ViewState.Clear(); とか ViewState.Remove("hoge");
> なのかなー、適当
>

ご解答ありがとうございます。一応それは試しましたが、自分で作成したVIEWSTATEならば消せますが
EnableViewStateでとられるViewがどうしてもけせません。

引き続き宜しくお願い致します。
引用返信 編集キー/
■23078 / inTopicNo.6)  Re[5]: viewstateについて
□投稿者/ THREE-ONE (11回)-(2008/08/08(Fri) 10:08:41)
THREE-ONE さんの Web サイト
protected override object LoadPageStateFromPersistenceMedium()
{
object obj = base.LoadPageStateFromPersistenceMedium();
Pair pair = (Pair)obj;
pair.Second = null;
return obj;
}
消すだけなら、これで消えます。
しかし、これだと全コントロールの ViewState が消えてしまいます。
pair の Second はさらに入れ子になった Pair や ArrayList が延々と入っています。
特定のコントロールの ViewState を削除したいなら、どのように保存されているかをデバッグで確認してください。

かなりめんどうですし、危険で保守の難しいコードになります。
ページの構成が少し変わっただけで、解析のやり直しになる可能性も高いです。
一応可能というだけで、まったくお勧めできません。
コントロールの作り直しなど、別の案を検討される方がよいかと思います。
引用返信 編集キー/
■23189 / inTopicNo.7)  Re[6]: viewstateについて
□投稿者/ 気合 (17回)-(2008/08/11(Mon) 01:45:54)
No23078 (THREE-ONE さん) に返信
> protected override object LoadPageStateFromPersistenceMedium()
> {
> object obj = base.LoadPageStateFromPersistenceMedium();
> Pair pair = (Pair)obj;
> pair.Second = null;
> return obj;
> }
> 消すだけなら、これで消えます。
> しかし、これだと全コントロールの ViewState が消えてしまいます。
> pair の Second はさらに入れ子になった Pair や ArrayList が延々と入っています。
> 特定のコントロールの ViewState を削除したいなら、どのように保存されているかをデバッグで確認してください。
>
> かなりめんどうですし、危険で保守の難しいコードになります。
> ページの構成が少し変わっただけで、解析のやり直しになる可能性も高いです。
> 一応可能というだけで、まったくお勧めできません。
> コントロールの作り直しなど、別の案を検討される方がよいかと思います。
有難うございます。試してみます
引用返信 編集キー/
■23242 / inTopicNo.8)  Re[7]: viewstateについて
□投稿者/ あい (3回)-(2008/08/11(Mon) 20:29:42)
No23189 (気合 さん) に返信
> ■No23078 (THREE-ONE さん) に返信
>>protected override object LoadPageStateFromPersistenceMedium()
>>{
>> object obj = base.LoadPageStateFromPersistenceMedium();
>> Pair pair = (Pair)obj;
>> pair.Second = null;
>> return obj;
>>}
>>消すだけなら、これで消えます。
>>しかし、これだと全コントロールの ViewState が消えてしまいます。
>>pair の Second はさらに入れ子になった Pair や ArrayList が延々と入っています。
>>特定のコントロールの ViewState を削除したいなら、どのように保存されているかをデバッグで確認してください。
>>
>>かなりめんどうですし、危険で保守の難しいコードになります。
>>ページの構成が少し変わっただけで、解析のやり直しになる可能性も高いです。
>>一応可能というだけで、まったくお勧めできません。
>>コントロールの作り直しなど、別の案を検討される方がよいかと思います。
> 有難うございます。試してみます

protected override object LoadPageStateFromPersistenceMedium()で消えましたが
毎度pageloadよりも先に実行されるため毎回VIEWSTATEの中身が削除される。
ボタンごとに実行したりしなかったりということは可能でしょうか
引用返信 編集キー/
■23243 / inTopicNo.9)  Re[8]: viewstateについて
□投稿者/ ま (103回)-(2008/08/11(Mon) 21:09:26)
No23242 (あい さん) に返信
可能でしょうか

”気合くん”のカキコに便乗って?

気入力し忘れですか??

引用返信 編集キー/
■23245 / inTopicNo.10)  Re[9]: viewstateについて
□投稿者/ 気合 (18回)-(2008/08/11(Mon) 21:45:16)
No23243 (ま さん) に返信
> ■No23242 (あい さん) に返信
> 可能でしょうか
>
> ”気合くん”のカキコに便乗って?
>
> 気入力し忘れですか??
>

間違えてました。はい。すみません。
引用返信 編集キー/
■23246 / inTopicNo.11)  Re[10]: viewstateについて
□投稿者/ 気合 (19回)-(2008/08/11(Mon) 21:46:25)
No23245 (気合 さん) に返信
> ■No23243 (ま さん) に返信
>>■No23242 (あい さん) に返信
>>可能でしょうか
>>
>>”気合くん”のカキコに便乗って?
>>
>>気入力し忘れですか??
>>
>
> 間違えてました。はい。すみません。

overrideした関数の中で押したボタンが分かれば分岐処理できると思うのですが、ボタンのプロパティを確認しても
それらしいのがなく困っております。
宜しくお願い致します。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -