問題タブ [postback]
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.
security - 非表示の入力フィールドにより、潜在的に危険なRequest.Form値エラーが発生します
ASP.NET 1.1アプリケーションでは、非表示のViewstate変数を圧縮して、__VSTATEという非表示のフィールドに格納されている代替の圧縮値に置き換えています。これはうまく機能しますが、ページを送信すると、一般的な「潜在的に危険なRequest.Form値...」エラーが発生する場合があります。
__VSTATE値を調べましたが、潜在的に危険なものは何もないようです。以下に示すように、ページの完全に削除されたバージョンと__VSTATE値を使用して、エラーを再現することができました。送信ボタンを押すとエラーが発生します。値を「」に変更すると、ページは正常に機能します。
フィールド名を「MyHiddenWT」に変更しても違いはありません。runat = "server"を削除してもエラーは停止しましたが、これは.NETがサーバー側のコントロールのみを検査することを意味します。また、いくつかの追加の値を試してみたところ、次の値が見つかりました。
問題を引き起こすのは「Onw=」だけです。キャピタルOはどういうわけか8進値として見られていますか?
この値がエラーメッセージをトリガーしている理由を誰かが説明できますか?私も解決策を探していますが、ページ検証を削除するように言わないでください。これは、ブレーキの悪い車は運転しないことで直せると言っているのと同じです。
前もって感謝します。
c# - ポストバック時に GridView RowDataBound が起動しない
ASP.NET ページで、LINQ クエリの結果が取り込まれた GridView があります。コードで DataSource を設定してから、DataBind を呼び出しています。GridView の RowDataBound イベントでは、クエリ結果に基づいて一部の GridView フィールドのリンクを選択的に非表示にしています。(たとえば、親行がない問題の行の「親を表示」リンクを非表示にします。)
これは最初はうまくいきます。しかし、ポストバック ( DataBind を呼び出さないが、GridView は ViewState を介して設定されたままの場合) では、データは表示されますが、RowDataBound イベントは (明らかに) 発生せず、リンクは非表示になりません。
ポストバック後にリンクを非表示にする最良の方法は何ですか?
asp.net - ASP.Net ポストバック後の JavaScript コードの保守。
タイトルが示すように、ポストバックでコードを維持するのに問題があります。Head セクションにたくさんの jQuery コードがありますが、これはポストバックが発生して機能しなくなるまで正常に動作します。
どうすればこれを修正できますか? ヘッドはポストバックで読み取られませんか?これを強制的に実行する方法はありますか?
JavaScript は次のとおりです。
c# - 「ページ」の後のクライアントレンダリングの問題。呼び出し
'PreviousPage'、'PreviousPage.IsCrossPagePostBack''Page.previousPage'、page.titleを試しました
これにより、クライアントはこの行の後にページのレンダリングを停止します。
簡単な例
誰かお願いします、何かアイデアはありますか?
c# - DropdownList.selectedIndex 常に 0 (はい、!isPostBack があります)
(解決策を見つけるには、投稿の一番下までスクロールします。)
Datalist を含む asp.net ページを取得しました。このデータリスト内には、ドロップダウンリストを含むテンプレートがあり、データリストにアイテムが入力されるたびに、ItemCreatedCommand が呼び出されます。itemCreatedCommand は、ドロップダウンリストのデータバインドを担当します。
問題はここにあると思います.ItemCreatedCommandを使用してデータを入力していますが、奇妙なことに、「緑」の色を選択すると、ページが自動ポストバックされ、ドロップダウンがまだ緑色になっていることがわかります、しかし、SelectedIndex を使用しようとすると、常に 0 になります...
表示のためにコードを少し絞り込みましたが、それでも私がやろうとしていることを見ることができます :) 私がこれを行っている理由と、色のデータソースを aspx-page で直接宣言していない理由テスト if(showColors) を実行する必要がありますが、コードビハインドファイルにあるはずのコードで html ページを乱雑にしたくないということです。
編集: SelectedIndexChange を変更しようとした後-頭の中で「論理的な」混乱が生じています-データリスト内の要素を変更するにはどうすればよいですか? 私の知る限り、この特定のドロップダウンリストが属するデータリスト内のアイテムを確認する方法がありません...または?いくつかの方法を試して、最終的にどうなるか見てみます ;) しかし、この質問についての考えを投稿してください :)
解決:
イベントを ItemCommand にバブルするか、イベントを処理して、送信者の親 (datalistItem である) を取得し、そこで要素を操作します。
asp.net - ユーザー入力を受け入れるカスタム サーバー コントロールの作成
「QuestionTypeId」に応じて、テキストボックス、日付ピッカー、またははい/いいえラジオボタンのいずれかを表示するサーバーコントロールを構築しようとしています。
希望どおりにコントロールを表示していますが、フォームで送信ボタンを押すと、RenderContents メソッドで生成されたテキスト ボックス、日付ピッカー、またはラジオ ボタンがすべて null になります。
生成されたコントロールをビューステートに保存しようとしましたが、null になることはありませんでしたが、ユーザー入力は保存されていませんでした。
必要に応じてコードを投稿します。ただ尋ねてください。
asp.net - ページが部分レンダリング モードかどうかを確認する ASP.NET 2.0 + AJAX.NET
ページが部分レンダリング モードで読み込まれていることを確認する必要があります (UpdatePanel 内からポスト バックする場合)。
助言がありますか?
asp.net - ASP.NET アプリケーションがファイアウォール経由で異常な動作を示す
この問題は、あなたの提案のおかげで解決されました。詳細は下部をご覧ください。どうもありがとうございました!
当社の ASP.NET Web サイトは、いくつかの特定の高度に安全な国際的な場所からアクセスされます。正常に動作していますが、非常に奇妙な動作を示す別のクライアント ロケーションを追加しました。
特に、ユーザーが検索基準を入力して検索ボタンをクリックすると、結果リストは空を返します。「0 件の結果が返されました」というテキストさえ表示されないため、Repeater コントロールがまったくバインドされていないかのようになります。同様の動作は、サイトの他の部分でも見られますが、すべてではありません。ユーザーはサイトに正常にログインでき、プロファイル情報が表示されます。
それらとまったく同じ資格情報を使用してローカルでサイトにログインしましたが、サイトはここから正常に機能します。慎重に手順を実行したので、ユーザーの問題ではないと確信しています.
検索結果ページが最初にロードされるときに、検索結果ページの Page_Load にバインドします (条件はクエリ文字列にあります)。すなわち
BindResults() メソッド呼び出しをコメント アウトすることで、まったく同じ動作をローカルで再現できます。
IsPostBack の値がどのように計算されるか知っている人はいますか? 非常に安全なファイアウォール設定により、別のページからのリダイレクトであっても IsPostBack が常に true を返す可能性はありますか? 問題は他の場所にある可能性があるため、それはニシンである可能性があります。ただし、結果を正確に複製します。
私はサイトにアクセスできないので、トラブルシューティングは指示を出し、結果を教えてもらうことに限られています。
御時間ありがとうございます!
追加情報: クライアントは、既定のルールを実行する Microsoft ISA 2006 ファイアウォールの背後にあります。このサイトは Internet Explorer の信頼済みサイト リストに追加され、FireFox と Google Chrome で試してみましたが、すべて同じ結果でした。
解決策:私にとっての勝者は、Fiddlerを使用するという提案でした。Web 開発者がなくてはならない優れたツールです。これを使用して、問題を再現するまで、リクエストからさまざまなヘッダーを取り除くことができました。このような紛らわしい問題でよくあることですが、実際にはこのバグを引き起こした 2 つの要因がありました。
要因 1 – 可能な場合、Web アプリケーションはすべての主要なブラウザーでサポートされている GZIP 圧縮を使用します。ファイアウォールは、GZIP 解凍サポート (Accept-Encoding: gzip、deflate) を指定するヘッダーを取り除いていました。
要因 2 – コードのバグにより、コンテンツが非圧縮で送信されるときに一部の処理がバイパスされました。この問題は、アプリケーションが GZIP 解凍をサポートしている限られた利用者によって使用されていたため、以前は気付かれませんでした。
c# - PostbackUrl を GridView CommandField に設定できますか?
私のページには、いくつかの BoundFields を定義した GridView コントロールがあります。データバインドされた GridView の各行には、PostBack を新しいページに送信する CommandField (選択) があります。
もちろん、NewSelectedIndex を QueryString で簡単に送信することもできますが、その情報をユーザーから隠しておきたいと思います。提案?
asp.net - ASP.NETのSessionに実際に保存されているものは何ですか?
すべてのリクエストでデータベースからデータを取得しないように、ポストバック全体でオブジェクトの永続性を処理する方法を決定しようとしています。私はSession(イントラネットアプリケーションであり、数千人のユーザーは存在しません)を使用することに傾倒していますが、これは、実際のオブジェクトへの参照のみがそこに格納されていると思われるためです...
これが本当かどうか誰かが事実を知っていますか?
私はいつもセッションオブジェクトを使いすぎないように教えられてきましたが、このように機能すれば、それほど大きな問題にはなりません...
ここで実際にセッションに保存されるもの:
実際のシリアル化されたオブジェクト、またはその参照?