問題タブ [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 投票する
3 に答える
3133 参照

asp.net - 親で無効になっているときに子カスタム コントロールの ViewState を有効にするにはどうすればよいですか?

「グリッドビュー」のようなコントロールですが、特に特定のカスタム インターフェイスを実装するビジネス オブジェクト用のカスタム コントロールを作成しようとしています。

これを行う際に、次の問題に遭遇しました。

ビューステートを無効にしたコントロールがあり (再度有効にしたくない)、ビューステートを有効にしたい子コントロールがあります。親が無効になっているため、子コントロールのビューステートを機能させることができないようです。誰かがそれを機能させる方法のアイデアを持っていますか?

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

asp.net - 複合コントロール内の子コントロールのビューステートを適切に処理するにはどうすればよいですか?

ListBox 子コントロールを含む複合コントロールがあります。ポストバックすると、ListBox の項目が消えます。ListBox を初期化するプロパティがあり、それを CreateChildControls のコントロール コレクションに追加します。私は何か間違ったことをしていますか?この ListBox のビューステートを適切に処理するために何か他のことをする必要がありますか?

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

jsp - JSP サーブレット アプリのビューステートの実装はありますか?

ViewstateがASP.NETで提供するのと同様の動作を提供する実装/手法を知っていますか? (HTML フォーム内の非表示フィールドにデータをシリアル化します)。

JSP、サーブレット、Spring MVC のみを使用しています。

0 投票する
8 に答える
23136 参照

c# - 一部のコントロールで ViewState を有効にし、その他/ページでは無効にする

ページの ViewState を無効にすると。その特定のコントロールに EnableViewState="true" を設定したとしても、他のコントロールが ViewState を使用することは許可されません..

ページ自体でViewStateが無効になっているときに、コントロールのViewStateを有効にすることはできますか?

EnableViewState="false" を明示的に指定せずに少数を除いてページ上のコントロールのビューステートを無効にする方法がない場合..非常に多くのコントロールに同じことを入力するのは大変です..

0 投票する
9 に答える
13062 参照

c# - .NETの動的制御に関する問題

動的制御の問題

こんにちは皆さん、

いくつかの動的コントロールを作成し、ページの読み込み全体でビューステートを保持させたいと考えています。簡単ですよね?私がしなければならないのは、同じIDを使用して、ページの読み込みごとにコントロールを再作成することだけです。ただし、ここに問題があります。PreRenderイベントで、コントロールコレクションをクリアしてから、新しい値で動的コントロールを再作成したいと考えています。その理由は複雑で、なぜそれをやりたいのかを説明するのに1ページほどかかるでしょう。したがって、簡潔にするために、私が絶対にこれを行わなければならず、他の方法はないと仮定しましょう。

PreRenderイベントでコントロールを再作成した後、問題が発生します。再作成されたコントロールはビューステートにバインドされることはなく、それらの値はページの読み込みを超えて保持されません。なぜこれが起こるのかわかりません。OnLoadイベントですでにコントロールを再作成しています。これを行うと、毎回同じIDを使用する場合、新しく作成されたコントロールはViewStateに正常にバインドされます。ただし、PreRenderイベントで同じことを実行しようとすると、失敗します。

いずれにせよ、ここに私のサンプルコードがあります:

名前空間TestFramework.WebControls{

}

それでは、[CASE 1]の隣の行はコメントアウトされていないが、[CASE2]の隣の行はコメントアウトされているケース1を調べてみましょう。ここでは、すべてが正常に機能します。このコントロールをページに配置してページをロードすると、「クリック」というリンクが表示されます。リンクをクリックすると、ページに「[新しい値]」というテキストが出力され、次の行に、おなじみの「クリック」リンクが表示されます。その後、「クリック」リンクをクリックするたびに、同じことが表示されます。ここまでは順調ですね。

しかし、ここで、[CASE 1]の隣の行がコメント化されているが、[CASE2]の隣の行がコメント化されていないケース2を調べてみましょう。ここで問題が発生します。ページをロードすると、「クリック」リンクが表示されます。ただし、リンクをクリックすると、ページに「[newvalue]」ではなく「[]」というテキストが出力されます。クリックイベントは正常に発生しています。ただし、コントロールのValue属性に割り当てた「新しい値」のテキストは保持されません。繰り返しになりますが、これは私には少し謎です。OnLoadでコントロールを再作成すると、すべてが正常でダンディになりますが、PreRenderでコントロールを再作成すると、値が保持されないのはなぜですか?

これを行う方法がなければならないような気がします。PreRenderでコントロールを再作成するときに、新しく作成したコントロールをViewStateにバインドする方法はありますか?

私はこれに何日も苦労してきました。あなたが私に与えることができるどんな助けでもありがたいです。

ありがとう。

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

asp.net - asp.net:DropDownListのSelectedItemを取得し、リストアイテムを保持する

これが問題です。

ラベル、ドロップダウンリスト、送信ボタンのある小さなページがあります。

フォームの読み込み時にドロップダウンリストにアイテムを挿入し、ボタンをクリックするとドロップダウンリスト内のアイテムの数が表示されます。そのためのコードは次のとおりです。

if (Page.IsPostBack) { Message.Text = "You have selected " + Dropdownlist1.Items.Count.ToString(); } else { Message.Text = "You have selected " + Dropdownlist1.Items.Count.ToString(); Dropdownlist1.Items.Add("Madrid"); Dropdownlist1.Items.Add("Chennai"); Dropdownlist1.Items.Add("New York"); }

これが面白い部分です。IDEから直接実行すると、完全に正常に機能します。初めて0としてカウントされ、送信ボタンを押すと3としてカウントされます。この小さなコードを既存の仮想ディレクトリで実行する必要があります。その仮想ディレクトリ内で同じaspxページを実行すると、初めてロードされるときにカウント0が取得されます。[送信]をクリックすると、0としてカウントされ、ドロップダウンリストにアイテムが表示されません。クリアされます。挿入されたものを思い出せるように、viewstateをtrueに設定しました。

IDEから実行した場合と、別の仮想ディレクトリから実行した場合の違いはわかりません。私はAsp.Netにかなり慣れていないので、ここですべてのオプションを調べて、ドロップダウンリストがどのように機能するかを調べました。ここに欠けている設定はありますか?

参考までに、DropDownListをウィザードコントロールに配置したときに同じ問題が発生します。IDEから実行すると正常に動作しますが、仮想ディレクトリから実行すると、選択した値が取得されず、ドロップダウンリストの項目も記憶されません。

これに関する助けをいただければ幸いです。


申し訳ありません:(、さらにいくつかの質問

コードによると、リストはPostBackでない場合にのみ入力されます。したがって、ボタンをクリックすると、リストは空になります。リストに動的にデータを入力すると、アイテムは記憶されません。各Page_loadに追加する必要があります。ビューステートは、選択されたアイテムのみを記憶します。

ページがIDEから直接実行されたときにアイテムを記憶し、仮想ディレクトリから実行したときに記憶しない方法。それを機能させるために設定する必要があるかもしれないビューステートはありますか?キャッシュ設定もあまりうまくいきませんでした。トレース情報を有効にしました。面白いことに、:|、仮想ディレクトリからではなく、IDEから直接実行するとトレースが発生します。もう一度質問しますが、子ディレクトリのweb.configは親web.configを上書きする必要がありますか?

返信ありがとうございます。

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

asp.net - ASP.NET マスターページとビューステート

サイトのパフォーマンスが悪いからではなく、一般的な演習として、サイトのパフォーマンスを改善したいと考えています。asp.net サイトの通常の提案は、可能な限りビューステートを削除することです。これは、ページ上の各コントロールで個別に、またはページ全体で実行できると思います。

私の質問は、ページのビューステートを無効にすると、マスターページのコントロールのビューステートが停止することです (マスターページは実際にはページ上のコントロールであることを理解しているため)。

0 投票する
4 に答える
10231 参照

asp.net - UpdatePanel で asp:TreeView の選択したノードがリセットされるのはなぜですか?

2 を含む asp.net 2.0 ページがありますUpdatePanels

最初のパネルにはコントロールが含まれていTreeViewます。3 つのビュー コントロールでノードを選択すると、2 番目のパネルUpdatePanelのみの更新がトリガーされます。これだけ正しく動作しています。

更新パネルの外側のページには 2 つのボタンがあります (前/次)。これらのボタンは、両方のパネルの更新をトリガーします。ボタンの動作は、ツリー内の隣接するノードを選択することです。これらのボタンのいずれかを初めてクリックすると、期待どおりの動作が得られ、隣接するノードが選択され、両方のパネルが更新されてこの変更が反映されます。

これらのボタンのいずれかをもう一度クリックすると、問題が発生します。ツリービューの選択されたノードは、以前に選択されたノードを覚えているようで、ボタンはこのノードで動作します。したがって、前/次のボタンの動作は、何もしないか、2 つ戻ることです。

編集- 私の問題を示すサンプルコード

マークアップ

コードビハインド

ツリーのビューステートが保存されていないようですか?

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

asp.net - ビューステートを ASP.Net モバイル Web アプリケーションに格納するための最良の方法は何ですか?

モバイル Web ブラウザー (つまり、Windows Mobile の Treo、または Blackberry Curve Web ブラウザー) 内で実行される ASP.Net アプリケーションに関して、viewstate の保存と維持に最適な手法は何か知りたいです。

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

asp.net - site.master の ViewState エラー ポイント

asp.net mvcベータアプリケーションのサンプルフォルダーの下の新しいページにasp.netカレンダーコントロールを追加しました。必要な特定のページを実行すると、次のエラーが表示されます

ビューステート MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合は、構成で同じ validationKey と検証アルゴリズムが指定されていることを確認してください。AutoGenerate はクラスタでは使用できません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

それはここを指しています。asp.net mvcのsite.masterにあります

通常、このエラーを回避するために、

しかし、それは私にはうまくいきません。