1

ソース (.Net 3.5)

  output.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert(\"In order to prevent loss of your work, you may only use the progress grids within the same section.\");return false");

ブラウザでレンダリング:

<a onclick="alert(&quot;In order to prevent loss of your work, you may only use the progress grids within the same section.&quot;);return false" href="myPage.aspx#1">

これは、JavaScript が実行されないことを意味します。

同様に、内部引用符を一重引用符に置き換えると、' としてエスケープされます

IIS バージョン 7 での実行

ブラウザに依存しないようです(IE 8,9 FF 15、Safari 7、Chrome)

これを引き起こしているのは、IIS または .Net 構成のいずれかです。

もちろん、面白いことに、昨夜は問題なく動作していたのに、今は壊れています。

この動作を抑制する方法はありますか?

4

1 に答える 1

0

これは、JavaScriptが実行されないことを意味します。

いいえ、そうではありません。"データ内の文字がHTML属性値を終了するのを防ぎます。

HTMLパーサーは、HTMLをテキストにデコードし(に&quot;変換する"など)、JavaScriptパーサーに渡します。

この動作を抑制する方法はありますか?

3番目の引数(fEncode)をAddAttributefalseに設定します。これにより、HTML(したがってスクリプト)が壊れます。

于 2012-08-31T16:26:53.510 に答える