1

私はブログ投稿のリピーターで作業しており、一番下に ShareThis JavaScript ピースを表示しています。投稿のタイトルと URL が JS に送信されています。あるテストケースでは、投稿のタイトルに一重引用符が含まれています。

マークのテスト投稿

ShareThis に送信するときにその単一引用符を保持する必要があるため、その JavaScript 文字列を二重引用符で囲む必要がありますが、文字列はリテラルを介してバインドされており、リテラルを二重引用符で囲むことはできません。

これは欲しいのですが、機能しません:

SHARETHIS.addEntry({ title: "<asp:Literal ID="ltlTitle" runat="server" />", etc..

次のように、リテラルを一重引用符で囲むことしかできません。

SHARETHIS.addEntry({ title: '<asp:Literal ID="ltlTitle" runat="server" />', etc..

しかし、それは悪いフロントエンドコードになります:

SHARETHIS.addEntry({ title: 'Mark's test post', etc..

これを正しくエンコードするにはどうすればよいですか、またはコントロールを二重引用符で囲むにはどうすればよいですか? 私は知ってHttpUtility.HtmlEncodeServer.HtmlEncodeますが、それらがどのように役立つかわかりません。

4

2 に答える 2

1

サーバー側で文字列を「javascript エンコード」する必要があります。あなたはおそらくこのようなものを探しています。

onClick ハンドラー内の JavaScript コード内の文字列をエスケープするにはどうすればよいですか?

于 2010-06-23T15:31:43.070 に答える
0

ASP.NET コントロール自体で実際に単一引用符を使用できることがわかりましたが、これが機能することを知りませんでした。以前はパーサー エラーだと思っていましたが、ページは正しく読み込まれます

title: "<asp:Literal ID='ltlTitle' runat='server' />"

結果は私が望むものです:

title: "Mark's test post"
于 2010-06-23T15:46:47.437 に答える