【问题标题】:Pass HTML as a parameter to a javascript function from c# WCF将 HTML 作为参数从 c# WCF 传递给 javascript 函数
【发布时间】:2018-12-20 13:33:22
【问题描述】:

我正在从 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>")

在这个例子中,param 周围的引号会引起我考虑编码 documentMenu 变量的问题,但它对我不起作用

【问题讨论】:

  • 没有看到你的代码就不可能知道哪里出了问题以及如何纠正它。
  • @NineBerry 我尝试使用编码的 html,但是当它从 WCF 发送到 HTML 时,它会自动解码
  • @ChetanRanpariya 代码示例发布

标签: javascript c# wcf


【解决方案1】:

尝试在

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

【讨论】:

    【解决方案2】:

    如果你的参数是一个变量,你可以写你的js如下:

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

    【讨论】:

      猜你喜欢
      • 2015-06-09
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      • 2021-04-15
      • 2012-06-09
      • 1970-01-01
      相关资源
      最近更新 更多