問題タブ [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.
c# - .NET での AJAX と ViewState の動作に一貫性がない
ブラウザーの [更新] ボタンを押すと、UpdatePanel 内のコントロールの ViewState が一時的に台無しになることがわかりました。
これが私の状況です: ViewState に値を格納するカスタム WebControl を作成しました。このコントロールを UpdatePanel 内に配置しました。ブラウザの「更新」ボタンを押すと、ViewState の値が一時的に消去されます。ただし、次のポストバックでは、「更新」を押す前に ViewState にあった値が魔法のように再表示されます。
この動作により、Web コントロールが台無しになります。ViewState が空で、IsPostBack が false に設定されているため、[更新] をクリックすると、コントロールは初期状態に戻ります。ただし、WebControl 内のポストバック コントロールの 1 つをクリックすると、WebControl は、[更新] をクリックする前に ViewState にあったのと同じ値で再読み込みされます。
奇妙なことに、これは AJAX を使用している場合にのみ発生します。私のコントロールが UpdatePanel の外側にある場合、Firefox は標準的なメッセージを表示します。 ." 少なくとも動作は一貫しているため、これで問題ありません。ただし、このプロジェクトでは絶対に AJAX を使用する必要があります。
これが私がやりたいことです - 「リフレッシュ」動作を一貫させたいのです。「更新」を押してもViewStateにまったく影響がなければ最高です。ただし、ViewState を一掃する必要がある場合は、ViewState が一掃されたままである限り問題ありません。値が消えて再び現れるものはありません。
そうそう、これが私のコード例です:
sql-server - enableviewstate=falseの場合にSQLログインが失敗しました
良い一日、
asp.net2.0のビューステートに問題があります。
基本的に、グリッドビューのビューステートを無効にします。ただし、そうすると、ポストバックが発生するとすぐに、Page_Loadに入る前に、「ユーザーsaのログインに失敗しました...」というメッセージが表示されます。
ビューステートを有効に戻すと、すべてがスムーズに実行されます。
PageLoadでは、接続文字列をすべてのSqlDataSourceに設定しましたが、前述したように、PageLoadの前でもエラーが発生します。
PageLoadで、MyGridView.DataSourceId = "MySqlDataSource"のようなことをしようとしましたが、うまくいきませんでした。アイデアが足りなくなっています。
何か案が?
ありがとうございました!
asp.net - データベースに書き込めるようになるまでグリッドビューをビューステートにバインドする
私は最近、1 つのページに多くのグリッドビューを持つプロジェクトに取り組み始めました。新しいレコードの作成中、ユーザーはこれらのグリッドビューを追加/削除/編集し、最後にデータベースに保存できる必要があります。これに関する問題は明らかに、データがデータベースに書き込まれるまでデータをバインドするデータソースがないことです。
このデータは 1..* の関係を表します。これが、親レコードが最初に作成されるまで gridview データをデータベースに書き込むことができない理由です。
これを解決するためにこれまでに見つけた最良の方法は、ビューステートを使用することです。ただし、このソリューションは私には理想的ではないようです。また、ビューステートとグリッドビューのバインディングを管理できるように、OnDeleting、OnUpdating などを使用してグリッドビュー機能を手動で作成する必要があります。
この状況を管理するためのより良い方法について誰か提案がありますか?それは一般的なことのようです?
アップデート:
このデータは、ポストバック全体で存在する必要があることに注意してください。
asp.net - ViewState を運用サーバーで動作させることができません
Vista ボックス (IIS7) で ASP.NET アプリケーションを開発しました。製品サーバー (W2K3/IIS6) に展開するまでは正常に動作します。展開すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という一貫したメッセージが表示されます。ボタンが「オン」または「オフ」の画像を表示するかどうかを決定するViewStateオブジェクトから読み取るとき。
ページ読み込みのコードは、ViewState を on に初期化します。
次に、OnPreRender メソッドでボタンの状態を確認します。
ボタンの状態を切り替えるには、ボタンのクリックをキャプチャし、ViewState で値を切り替えます。
開発ボックスでは、これは完全に機能します。ただし、ライブ ボックスでは、ページは正しく読み込まれますが、ボタン (またはポストバックを引き起こすその他のボタン) をクリックすると、ポストバック後にエラーが発生します。
誰でも助けることができますか?
asp.net - リストを永続化する方法ASP.NET カスタム コントロールのプロパティ?
カスタム コントロールに次のプロパティがあります。
コードビハインドでは、次のようにアイテムをコレクションに追加します...
ただし、これらはポストバック間で保持されません。カスタム コントロールで永続化を許可する適切な方法は何ですか?
asp.net - ASP.NET 2.0 RijndaelManaged 暗号化アルゴリズムと FIPS の比較
ASP.NET 2.0 アプリケーションで問題が発生しています。ネットワーク担当者がセキュリティを強化したところ、アプリにアクセスしようとすると常に次のエラーが表示されます。
「この実装は、Windows プラットフォーム FIPS 検証済み暗号化アルゴリズムの一部ではありません。」
少し調査したところ、ASP.NET は RijndaelManaged AES 暗号化アルゴリズムを使用してページの ViewState を暗号化しているようです...そして RijndaelManaged は FIPS に準拠していないアルゴリズムのリストに載っています。もちろん、暗号化アルゴリズムを明示的に呼び出しているわけではありません。
この ViewState ビジネスは理にかなっていると思います。しかし、私が混乱させることができないのは、それについて何をすべきかということです. web.config設定を使用して別のアルゴリズムを指定することを提案するKB記事を見つけました...しかし、それが固執しなかったか、そのアルゴリズムがうまくいきませんでした。
そう:
1) RijndaelManaged / ViewState は実際に問題ですか? それとも、間違った木を吠えていますか?
2) RijndaelManaged の代わりに使用するアルゴリズムを指定するにはどうすればよいですか? 準拠しているアルゴリズムと準拠していないアルゴリズムのリストがあります。その情報をどこに接続すればよいかわかりません。
ありがとう!
リチャード
asp.net - ASP.NET ビューステートの検証 - ASP.NET 1.1 と ASP.NET 3.5 の比較
現在、Web アプリを ASP.NET 1.1 から ASP.NET 3.5 に移行中です。私たちのアプリは、DNS ラウンド ロビンを介して複数のサーバーで実行されるため、すべてのブラウザー リクエストが異なるサーバーで終了する可能性があります。検証エラーを防ぐために、web.config に があります。
ただし、私たちの計画は一度に 1 つのサーバーを移行することでした。ユーザーが 1.1 でページをロードすると、次のようになります。サーバーで、ページがポストバック時に 3.5 サーバーで終了すると、viewstate の検証が失敗します。
この問題に関してウェブ上で何も見つけることができませんでした.viewstateの検証が1.1と互換性がないというのは私の推測です. つまり、1.1 によって生成されたビューステートは、同じ machineKey を使用しても 3.5 では検証されず、その逆も同様です。
誰もこの疑いを確認できますか?
ありがとう
asp.net - マスター ページの読み込みで ViewState オブジェクトが失われる
コンテンツ ページの Page Load で ViewState["something"] を割り当てていますが、Master Page Load イベント ハンドラで ViewState 変数にアクセスしようとすると、viewstate 変数が失われます。