0

ASPページに一連のコントロールがあります。UpdatePanel内にあるものと、そうでないものがあります。

テキストボックスの1つ(「<foo>」など)にXMLタグを入力すると、UpdatePanel内のすべてのコントロールが機能しなくなります。タグが削除されるとすぐに、すべてが正常になります。

「送信」ボタンはUpdatePanelにあり、btnSubmit_Clickのブレークポイントは、テキストボックスにタグがない場合にのみヒットします。

私は長年のC#開発者ですが、ASP.NETはまったく新しいので、明らかな何かが欠けている可能性があります...これは私が期待する動作ではありません。

4

2 に答える 2

1

UpdatePanelをページから外すと、.NETは「<foo>」がサーバーで受け入れる可能性のある危険なデータであると見なすため、ポストバックがエラーの原因であることがわかります。StackOverflowでこの質問を参照してください。エラーページのHTMLがブラウザに直接ではなくUpdatePanelのajax呼び出しに返され、UpdatePanelがそれをどう処理するかわからないため、エラーは表示されません。

追加することでチェックをオフにすることができます

ValidateRequest="false"

aspxファイルの上部にある<@Page...>ディレクティブに移動します。または、web.configを変更して、Webアプリ全体で同じ効果を得ることができます。

于 2009-10-21T21:38:13.017 に答える
0

テキストエリアにマークアップを配置することはできません。他の要素と同じように、textarea内のマークアップ文字をHTMLエスケープする必要があります。

<textarea>&lt;foo> &amp; &lt;bar></textarea>

実際には、ブラウザは通常、意味を理解し、<文字をそのまま表示しますが、それでも無効なHTMLと整形式でないXMLです(おそらくこれはASP.NETの問題の原因でもありますが、特定のコードがない場合はわかりにくい)。

于 2009-10-21T21:31:34.460 に答える