Передать HTML в качестве параметра функции JavaScript из c # WCF - PullRequest
0 голосов
/ 20 декабря 2018

Я создаю свой HTML-код из WCF (c #), при создании действия кнопки я передаю несколько параметров, одним из которых будет HTML-код.Проблема, с которой я сталкиваюсь, когда HTML содержит двойные кавычки: «HTML-страница считает, что параметры там заканчиваются.

Я пытался использовать Encoded html, но при отправке его из WCF в HTML он автоматически декодируется.

например javascript

function generateDocumentMenu(screenName,mainItemId,taskId,subItem, documentMenu) 
{
    createPopup(decodeURI(documentMenu) ,"","20%","20%","60%","60%");
}

C #

 screen.Append("<a href='#' id='documentGeneration' class='button popup-toolbar-button document-generation' onclick='generateDocumentMenu(\"" + screenName + "\",\"" 
 + mainItemId.ToString() + "\",\"" + taskId.ToString() + "\",\"" + subItem + "\", \""+documentMenu +"\");'>");

Проблема, с которой я сталкиваюсь, связана с documentMenu, например:

generateDocumentMenu("user","123","123","user","<div onclick='fn("param");'>aze</div>")

в этом примере кавычки вокруг param создадут проблему, которую я думал о кодировании переменной documentMenu, но у меня это не сработало

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Если ваш параметр является переменной, вы можете написать свой js следующим образом:

"<div onclick=\"fn('" + param + "');\">aze</div>"
0 голосов
/ 20 декабря 2018

Попытайтесь отбросить буквальные кавычки, вставив обратную косую черту до

"<div onclick='fn(\"param\");'>aze</div>")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...