从C#WCF将HTML作为参数传递给javascript函数

时间:2018-12-20 13:33:22

标签: javascript c# wcf

我正在从WCF(c#)创建HTML代码,当创建按钮动作时,我要传递几个参数,其中之一将是HTML代码。当HTML包含双引号时,我面临的问题是“ HTML页面认为参数已在此处完成。

我尝试使用编码的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>")

在此示例中,参数周围的引号会引起我想到的有关编码documentMenu变量的问题,但这对我不起作用

2 个答案:

答案 0 :(得分:0)

尝试对在

之前插入反斜杠的文字引号进行换码
"<div onclick='fn(\"param\");'>aze</div>")

答案 1 :(得分:0)

如果您的param是变量,则可以如下编写js:

"<div onclick=\"fn('" + param + "');\">aze</div>"