Оберните элемент управления ASP.NET двойными кавычками - PullRequest
1 голос
/ 23 июня 2010

Я работаю в Repeater над сообщениями в блоге, и в нижней части я показываю кусок JavaScript ShareThis. Заголовок и 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.HtmlEncode и Server.HtmlEncode, но не понимаю, как они мне помогут.

Ответы [ 2 ]

1 голос
/ 23 июня 2010

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

Как скрыть строку внутри кода JavaScript внутри обработчика onClick?

0 голосов
/ 23 июня 2010

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

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

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

title: "Mark's test post"
...