2010-06-23 6 views
1

Я работаю в ретрансляторе над сообщениями в блоге, и я покажу часть ShareThis JavaScript внизу. Заголовок и URL сообщения отправляются в JS. В одном тестовом случае заголовок сообщения имеет одинарную цитату, например.Оберните элемент управления ASP.NET с двойными кавычками

тест пост Марка

Поскольку мне нужно сохранить, что одиночные кавычки, когда направляется 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.HtmlEncode и Server.HtmlEncode, но я не вижу, как это мне помогут.

+0

что об использовании '<% = блабла()%> 'вместо этого? – vittore

ответ

0

Оказывается, что я могу на самом деле использовать одинарные кавычки в самом элементе управления ASP.NET, который я никогда не знал, работал. Раньше я думал, что была ошибка синтаксического анализа, но мои загрузки страницы правильно

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

Результат это то, что я хочу:

title: "Mark's test post" 
1

Вам необходимо «javascript-encode» вашу строку на стороне сервера. Возможно, вы ищете что-то подобное.

How do I escape a string inside JavaScript code inside an onClick handler?

+0

Я попытался сделать замену в своем C# на одну цитату с зашифрованным значением '\ x27', и он по-прежнему отображается неправильно. –

+0

Поскольку вас беспокоит только одна кавычка, попробуйте это быстрое грязное исправление. lblTitle.Text = title.Replace ("'", "\\'"); Но если вы хотите быть в безопасности, в конце концов вам нужно будет создать свою собственную функцию кодирования JavaScript. – stun

Смежные вопросы