2011-05-24 22 views
0

私のアプリケーションは、単一のaspxページを使用し、URLに基​​づいてマスターページに動的に読み込みます。マスターページ内のValidateRequest = "False"

私は、HTMLを投稿する必要があるフォームを持ついくつかの保護されたマスターページを持っているので、ValidateRequest = "false"を設定する必要があります。もちろん@Masterディレクティブでは使用できません。@Pageディレクティブのみです。サイト全体でこのセキュリティ設定を無効にしたくないので、マスタページレベルでこれを行う別の方法がありますか?

HTMLマークアップのあるページを投稿するときに表示される「潜在的に危険なRequest.Form値がクライアントから検出されました」というエラーメッセージが表示されます。

サイト全体を提供しているのと同じ物理的なURLであるため、web.configを使用することはできません。

私の唯一の考えは、入力をエンコードするためにjavascriptを使用することです。

ありがとうございました。

+0

複数のマスターページを読み込むコンテンツページが1つありますか? – CheckRaise

+0

@ CheckRaise - はい - 1つのindex.aspxページ。アプリケーションは、URLの書き換えと動的マスターページの組み合わせを使用します。 – ScottE

答えて

0

EDIT:紛らわしいイベント検証によるリクエストの検証。 PageのValidateRequestもURLに基​​づいて設定してください。 しかし、好奇心の理由から、なぜそのアプローチを選択しましたか? 1つのコンテンツページを持ち、マスターを変える? URLに基​​づいてテーマを適用していますか?

ValidateRequestプロパティを動的に設定できないようです。ページディレクティブまたはWeb.configのいずれかに設定する必要があります。

Page.EnableEventValidation = trueを使用して、必要な結果が得られるかどうか試してみてください。

+0

コードビハインドでどのようにValidateRequestを設定しますか?私はページディレクティブまたはweb.configのみを認識しています。私はそれが私の質問だと思う。 – ScottE

+0

あなたの質問に答えて - それは、ユーザーがオーサリングしているコンテンツのテンプレート(マスターページ)を選択できるコンテンツ管理システムです。サイトのルートにある共通のaspxページにマップされたフレンドリURLを使用します。 – ScottE

+0

Page.EnableEventValidation = true/false; P.P. Page_InitイベントまたはPage_PreRenderに設定することを忘れないでください – Dimitri

関連する問題