0

asp.netWebページがあります。

「実際の」一重引用符をクライアント側で取得する可能性はありますか?

サーバ側:

this.Attributes["onclick"] = "$('#button').click();";

クライアント側:

onclick="$('#button').click();" 

エラーが発生します。

アラートは問題なく機能します。つまり、クライアント側:

onclick="alert('hello#amp;39;);".

jQueryを使用するには、「実際の」一重引用符が必要なようです。

4

1 に答える 1

1

これは標準の ASP.NET ですか、それとも ASP.NET MVC ですか? 出力がエスケープされているように見えますが、サンプル コードやその他の詳細がないと確信が持てません。

あなたのコード例

this.Attributes["onclick"] = "$('#button').click();";

それはサーバーからどのようにレンダリングされますか? コントロールから?

更新しました

この属性値のエンコードは、.NET 4.0 で導入されました。controlRenderingCompatibilityVersion必要に応じて、web.config を "3.5" に設定する必要がある場合は、ページ要素 (ASP.NET 設定スキーマ)PagesSection.ControlRenderingCompatibilityVersion プロパティを参照してください。

(onclick ロジックを属性値に直接配置する代わりに) 関数を別の場所に記録し、関数名を onclick 値として設定できますか? または、jQuery を使用してクリック ハンドラー クライアント側を登録しますか?

于 2012-04-10T11:38:48.363 に答える