質問

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

テキストボックスのいずれかにXMLタグを配置すると(たとえば<!> quot; <foo> <!> quot;)、UpdatePanel内のすべてのコントロールが機能しなくなります。タグが削除されるとすぐに、すべてが問題ありません。

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

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

役に立ちましたか?

解決

UpdatePanelをページから削除する場合、.NETは<!> quot; <!> lt; foo <!> gt; <!> quotと考えるため、ポストバックがエラーを引き起こしていることがわかります。 ;サーバーで受け入れる可能性のある潜在的に危険なデータです。 StackOverflowのこれの質問をご覧ください。エラーページHTMLはブラウザに直接ではなくUpdatePanelのajax呼び出しに返されているため、エラーは表示されず、UpdatePanelはその処理方法を認識していません。

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

ValidateRequest="false"

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

他のヒント

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top