2014-01-20 4 views
-1

У меня есть функция Java Script, который я звоню через:Как обрабатывать строку с кавычками в ней?

<a href='javascript:void(0)' onclick='javascript:onEditRevPrepare(" <%#Convert.ToString(Eval("ReviewTitle"))%>"> 

Проблема заключается в том, что, когда Eval("ReviewTitle") является имеющий одинарные кавычки или двойные кавычки в нем, функция не будет вызвана.

Я думаю, что проблема связана (не уверен, что из-за этого или нет):

Convert.Tostring(....) 

, но мне нужно, чтобы преобразовать его в строку, прежде чем я передать его функции JavaScript.

Что я могу сделать?

функция JavaScript:

function onEditRevPrepare(revTitle) 
{ 

... 
... 
} 
+0

'Eval' не # функция C так, что вы пытаетесь сделать там? Чтобы избежать строки? 'String.Replace' было бы достаточно для этого (для замены символа, который вы используете только как разделитель строк, например' \ ''вместо' '' if '' '- ваш разделитель строк. –

+0

@Adriano, но я хотел передать строку как функцию javascript (с помощью «или») ... eval находится в asp.net –

+0

Итак, просто 'Convert.ToString (Eval (« ReviewTitle »)). Замените (" \ "", "\\\" ")' должен делать правильное экранирование –

ответ

1

Вы можете попробовать использовать &quot;

Live Demo

onclick='javascript:onEditRevPrepare(&quot;<%#Convert.ToString(Eval("ReviewTitle"))%>&quot;' 
+0

no sir, это не работает через это –

+0

Это дает вам любую ошибку, можете ли вы показать мне сгенерированный скрипт? – Adil

+0

не ошибка sir, но его не вызывающий метод javascript –

1

Вы перед проблемой с некоторыми конкретными значениями или функция не вызывая вообще? Просьба уточнить это.

Я думаю проблема не с " насколько если метод не звонит вообще. Попробуйте это и дайте мне знать, если у вас все еще проблемы.

<a href='javascript:void(0)' onclick='javascript:onEditRevPrepare(" + <%#Convert.ToString(Eval("ReviewTitle"))%> + "> 

ОБНОВЛЕНО

Я думаю, что проблема заключается в том, что вы не закрываем вашу функцию с ), что вы звоните из onclick, а также заменить ' (если таковые имеются) с &#39;. Она должна быть как ниже

<a href='javascript:void(0)' onclick='javascript:onEditRevPrepare("<%#Convert.ToString(Eval("ReviewTitle"))%>).Replace("'", "&#39;")"> 

Благодарности

+0

yep, функция не получает вызов вообще, когда «или» участвует в строке –

+0

@ SagarS.Dhanorkar: см. Мой обновленный ответ и дайте мне знать, если он работает для вас или нет? –

+0

yup, я пытаюсь изменить] –

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