2009-06-10 2 views
1

コントロールごとにRequest.Form検証をオフにすることはできますか?問題は、IE6とIE7がname属性に<button>タグの内容を格納するため、asp.netサーバーを大声で叫ぶ属性にhtmlコードが生成されるということです。継承ボタンコントロールのRequest.Form検証をオフにする

CausesValidation="false" 
+0

「イベントの検証」について言及していますか? – RSolberg

+0

ええ、あなたが達成したいことは少し不明です。ボタンをクリックしたときに検証を無効にしたい場合や、通常は検証の原因となるクライアントからのイベントが発生した場合は、私の答えで言及したことを実行できるはずです。より洗練されたコントロールを探している場合は、検証グループの使用を検討するか、クライアント側の検証イベントを直接タップする必要があります。 – Josh

+0

私はMVCを使っていたと思いますが、これは役に立ちます:http://netrsc.blogspot.com/2009/04/validateinput-attribute-in-aspnet-mvc.html –

答えて

0

HTMLの彼らの誤った解釈のIE 6と7に起こります非セマンティックマークアップでインライン化するのではなく、CSSであなたのボタンのスタイルを設定しますか?それは問題を解決し、構造とプレゼンテーションとの間の懸念をよりよく分離するためのものです。

+0

これはうまくいきません。問題は、IE 6/7がhtmlコンテンツをどのように属性に入れるかです。 私が行うことの場合、IE 6/7は

0

あなたはどうする:

通知は、これが唯一の理由はあなたが常にあなたのボタンでFalseにCausesValidationプロパティを設定することができます。4.

+0

ボタン要素の目的は、その中にマークアップを入れることです。 私が最初にこれをやっている理由は、構造を非常に明確に提示から分離することができるためです。しかし、これはさまざまなものをサポートするさまざまなブラウザを備えたWeb世界であり、このソリューションを使用しています。 –

+0

私は混乱しています - それはCSS *を使っていることがあなたが望むものではないということですか? とにかく、ASP.NETコントロールに任意の属性を追加することができ、直接出力します。したがって、Buttonの属性/パラメータリストに 'style =" ... "'を追加してください(開かれたタグと閉じたタグの間にはありません)。 –

+0

私の答えは少し不明でした。それは、私がそれを動作させるために余分な要素を必要とするものを作成するために使用している高度なCSSのmanouevreです。 –

0

フォームコントロールに潜在的なXSSエクスプロイトが含まれているときにスローされるHttpRequestValidationExceptionについては、my answer to a similar questionを参照してください。検証イベントが発生する前にポストバックをインターセプトしてフォームデータを変更するクラスモジュールのコードを提供します。

私はこの問題はIEのバグではないと思われますが、HTMLやJavascriptで問題が発生する可能性があります。

関連する問題