問題タブ [viewstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
8799 参照

asp.net-mvc - ポストバックが ASP.NET ルーティングで機能しない (viewstate MAC の検証に失敗しました)

http://chriscavanagh.wordpress.com/2008/04/25/systemwebrouting-with-webforms-sample/で説明されているように、従来の Web フォームで ASP.NET 3.5 SP1 System.Web.Routing を使用しています。

すべて正常に動作します。カスタム SEO URL があり、ポストバックも機能します。しかし、ポストバックが常に失敗する場合があり、次のようになります。

ビューステート MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合は、構成で同じ validationKey と検証アルゴリズムが指定されていることを確認してください。AutoGenerate はクラスタでは使用できません。

エラーを再現するシナリオは次のとおりです。

  1. ボタンを含む標準の Web フォーム mypage.aspx を作成します。
  2. 「a/b/{id}」を「~/mypage.aspx」にマップするルートを作成します
  3. サイトを実行すると、http://localhost:XXXX/a/b/ページが機能するものに移動できます。しかし、ボタンを押すとエラーが発生します。ルートが単に「a/{id}」の場合、エラーは発生しません。

URLのサブパスの数に関連しているようです。サブパスが 2 つ以上ある場合、viewstate の検証は失敗します。

EnableViewStateMac="false" でもエラーが発生します。

何か案は?バグですか?

ありがとう

0 投票する
12 に答える
27656 参照

asp.net - ビューステートの有効期限はありますか?

セッションに依存せず、ポストバック間の永続化のためにビューステートに依存する aspx ページがあるとします。

ユーザーがこのページにアクセスしていて、長いランチに出かけた場合、彼が戻ったときにビューステートはまだ有効ですか?

0 投票する
5 に答える
762 参照

asp.net - ASP.Net で多くのチェックボックスをクライアントに送信する最良の方法は何ですか?

次のような状況があります。

ユーザーはページで特定のフィルターを定義し、ポストバック時にそのフィルターを使用してデータベースにクエリを実行し、一致する一連のレコードをユーザーに返します。それぞれの隣にチェックボックスがあるため、ユーザーはそれぞれに対処するかどうかを選択できます。それらの記録の。

従来の ASP/PHP では、「chk__*」という名前のコントロールを多数生成し、ポストバック時にすべての $ POST エントリを調べて、「chk」というプレフィックスが付いたものを探します

ASP.Net 2.0 でこれを行う最善の方法は何ですか?

チェックボックスを含むテンプレートを使用してリピーターを実装し、リピーターをデータセットにバインドしてから、2 番目のポストバックで次のようにするだけで簡単に実行できます。

ただし、これには巨大なビューステートを与えるというわずかな欠点があります。これは、クライアントがビューステート全体をサーバーに再アップロードする必要があり、これらの人々が私のサイトをおそらく安っぽい接続で使用するため、非常に悪いことです.

他のアイデアはありますか?(コントロールを動的に作成し、昔のように Request.Form を反復処理することもできますが、よりクリーンなものを探していました

0 投票する
3 に答える
1602 参照

asp.net - ViewStateなしでOnMenuItemClickを発生させますか?

カスタム データ ソースからのアイテムのかなり大きなリストを表示する (派生) メニュー コントロールがあります。他のコントロールがポストバックで現在の選択を変更するときに、非常に迷惑な「無効または選択できないメニュー項目を選択できません」を回避するために、メニューの ViewState を無効にする必要があります。

残念ながら、メニューの ViewState が無効になっている場合、メニューによって生成されたポストバックはイベントを発生させません。ViewState を有効にすると、OnMenuItemClick イベントが発生します。ViewState を無効にすると、OnMenuItemClick は発生しません。私は困惑しています。

メニューの ViewState をオフにしておく必要があるので、実際のメニューからポストバックを処理するにはどうすればよいですか?

この時点で、Menu の Load イベントを使用し、__EVENTTARGET を解析してそれが Menu であるかどうかを確認し、そこから進むことに傾いています。これにより、技術的には、通常よりも前にポストバック イベントが処理されますが、問題ないと思います。

より良いアイデアはありますか?

0 投票する
1 に答える
626 参照

asp.net - MS Reportviewer - 展開/折りたたまれたノードを ViewState に保存しますか?

から取り込まれているレポートがありObjectDataSourceます。レポートには、ユーザーごとに展開/折りたたみ可能なノードが含まれます。

FilterExpressionデータソースに を設定してから を呼び出すことで、ビューアがレポートをフィルタリングできるようにしていますReportViewer1.LocalReport.Refresh()。これはポストバック中に行われます。

これにより結果がフィルター処理されますが、展開/折りたたまれたノードの状態は失われます。展開/折りたたまれたノードを ViewState に保存する方法はありますか? または、これを完全に達成するためのより良い方法はありますか?

0 投票する
7 に答える
2451 参照

c# - ビューステートの機密データ?

セッションごとに数ページ(httpsを介して実行)に機密データを保存する必要があります。

セッションストアがバックアップストアと同じように設計されているため(主にサービス呼び出しを行い、セッションをロードする)、セッションオブジェクトを使用できません。セッションが再開された場合、つまりセッション内のキーが存在しない場合は、サービスを作成してセッションを再設定します。

したがって、機密データを入力したユーザーの場合、このデータをページ間で転送する必要があります。現時点では永続的なストアがないため、残されたオプションはこれらの機密データをViewstateに保存することです。

1)データを暗号化してViewstateに保存する必要があります(ただし、推奨されません-秒とパフォーマンスの影響)または2)データをシリアル化可能なクラスに保存してViewstateに保存する必要がありますか?(パフォーマンスへの影響があるため、再度お勧めしません)

何か意見はありますか?

0 投票する
1 に答える
5520 参照

asp.net - ASP.NETAJAXおよび更新パネルを使用するときにビューステートを処理する方法のアイデア

これは、viewstateで発生していたいくつかの問題を解決するために作成したクラスです。ユーザーセッションに情報を保存し、値をインクリメントして、表示する状態を追跡します。難しいのは、戻るボタンがサポートされていないことです。私が最初にこれを持っていた理由は、AJAXが登場する前は、ビューステートがサーバーに保存されるのではなく、クライアントに送信されていたためです。サーバーに保存することで、クライアントエクスペリエンスをさらに豊かにすることができると思いました。速度などのプロジェクトを介した分散キャッシングにより、これをキャッシュに保存できるようになりました。

私は人々が持っているかもしれないいくつかのコメントとヒントを聞きたいです。

次のコードは、asp.netページのコードビハインドに含まれています。

0 投票する
2 に答える
6385 参照

asp.net - EnableViewState を false に設定しても、__VIEWSTATE 非表示フィールドがレンダリングされるのはなぜですか

ページ レベルで EnableViewState="false" を設定したにもかかわらず、__VIEWSTATE フィールドがレンダリングされることがわかりました。フォーム要素の runat="server" タグを削除すると、このフィールドはレンダリングされません。誰かがこれを説明してもらえますか?

0 投票する
1 に答える
455 参照

asp.net - asp.net サイトの負荷テスト (ポストバック/ビューステート)

ビューステートを持つ投稿に大きく依存するアプリケーションの負荷テストを行う最善の方法は何ですか?

投稿で使用するビューステートを生成できますか?

0 投票する
1 に答える
242 参照

c#-2.0 - ビューステート/機能/サーバーと開発サーバーの不一致

コードは次のようになります。

何らかの理由で、ライブサーバーでは一貫して機能しません。それは常に私のローカル開発マシンで動作し、SOMETIMES(約3回に1回)はライブマシンで動作することを覚えておいてください。ライブサーバーで障害が発生すると、ページがリロードされ、すべてのビューステートが失われます。

webconfigファイルにデフォルトのエラーキャッチがあり、ページがエラーページにリダイレクトされることはありません。

一貫性のあるバグはトラブルシューティングが簡単ですが、このようなものはそうではありません。

このページが機能する場合と機能しない場合、および/または機能しないときにビューステートが保持されない理由についてのアイデアはありますか?ローカルマシンで同じ問題が発生しないのはなぜですか?

2つの関数をマージして、外部関数の呼び出しが問題の原因であるかどうかを確認しようとしましたが、残念ながら何も変わりませんでした。また、IsOKの値は、バグが発生するかどうかには影響しないようです。

正しくトラブルシューティングできるように、ページの読み込み機能のすべてのコードを削除しましたが、それでも同じ問題が発生します。

任意のアイデアをいただければ幸いです。

編集:これをそのまま送信するつもりでしたが、次のことを試してみることにしました:

ボタンを数回クリックすると、数回試行した後、ページのビューステート値が失われますが、常にそうとは限りません。したがって、ここでの主な問題は、ビューステートが常に正しく機能していないという問題のようです。何か案が?

ありがとう。