我的问题是如何在javascript函数参数列表中正确格式化字符串。函数调用是在服务器上创建的,问题在于字符串单撇号。
代码(.NET,C#)(我只想在单引号中使用element.cMEST_CDO2):
@"ng-click='DeleteElementFromSession(" + element.iMERC_KEY + "," + element.iACCO_KEY +
@",'" + element.cMEST_CDO2 + @"');'></i></div>";
此代码在客户端上可见(如此抛出错误):
我想是这样的:
修改
我在Kevin的帮助下发现,用HTML呈现的任何内容都应该是HTML编码的。
我的解决方案 - 我已经制作了整个字符串而不是单个参数和html编码的整个字符串:
string paramList = $"{element.iMERC_KEY},{element.iACCO_KEY},'{element.cMEST_CDO2}', $event";
paramList = WebUtility.HtmlEncode(paramList);
然后将此字符串插入参数列表:
@"ng-click='DeleteElementFromSession(" + paramList + ");'></i></div>";
答案 0 :(得分:0)
我在Kevin的帮助下发现的是,任何使用HTML呈现的内容都应该是HTML编码的。
我的解决方案 - 我已经制作了整个字符串而不是单个参数和html编码的整个字符串:
string paramList = $"{element.iMERC_KEY},{element.iACCO_KEY},'{element.cMEST_CDO2}', $event";
paramList = WebUtility.HtmlEncode(paramList);
然后将此字符串插入参数列表:
@"ng-click='DeleteElementFromSession(" + paramList + ");'></i></div>";