C# 从c.net向javascript传递字符串值

C# 从c.net向javascript传递字符串值,c#,javascript,.net,C#,Javascript,.net,基本上我有一个字符串变量,我使用下面的代码将这个字符串变量传递给javascript函数 Chart1.Series["Series1"].Points[counter].MapAreaAttributes = "onmouseover=\"showAlert("+tempString+",event);\""; 我的javascript函数如下所示: function showAlert(stringVal,ex) { //var temp = document.getElem

基本上我有一个字符串变量,我使用下面的代码将这个字符串变量传递给javascript函数

Chart1.Series["Series1"].Points[counter].MapAreaAttributes = "onmouseover=\"showAlert("+tempString+",event);\"";
我的javascript函数如下所示:

function showAlert(stringVal,ex) {
       //var temp = document.getElementById("HTxtFieldPopIp").value;
      // temp = "testing";
      // alert(temp);
        alert(stringVal);
   }
但这并没有给我一个警告框


当我删除参数并运行注释过的代码段时,也会发生同样的情况。任何建议

您需要引用字符串:

"onmouseover=\"showAlert("+tempString+",event);\""
变成:

"onmouseover=\"showAlert('"+tempString+"',event);\""
因此,如果tempString等于foo,那么动态生成的js将是:

onmouseover="showAlert('foo',event);"

您需要引用字符串:

"onmouseover=\"showAlert("+tempString+",event);\""
变成:

"onmouseover=\"showAlert('"+tempString+"',event);\""
因此,如果tempString等于foo,那么动态生成的js将是:

onmouseover="showAlert('foo',event);"

我想你需要在tempString周围加引号。您的C代码现在将导致:

onmouseover="showAlert(testing,event)"
换成

Chart1.Series["Series1"].Points[counter].MapAreaAttributes = "onmouseover=\"showAlert('"+tempString+"',event);\"";

我想你需要在tempString周围加引号。您的C代码现在将导致:

onmouseover="showAlert(testing,event)"
换成

Chart1.Series["Series1"].Points[counter].MapAreaAttributes = "onmouseover=\"showAlert('"+tempString+"',event);\"";

这个函数会被激发吗?如果是,请尝试在函数showAlert中添加return false;您是否使用ASP.Net或MVC作为前端?是否会触发此函数?如果是,请尝试在函数showAlert中添加return false;您是使用ASP.Net还是MVC作为前端?+0。虽然正确,但使用正确编码的字符串会更安全-当前示例可能会导致现在应该使用XSS和方法来构造字符串的内部部分。他只是在对tempString发出愚蠢的警告。我在回答为什么它不工作:+1。也许你是对的,我不应该期望人们关心它:。+0。虽然正确,但使用正确编码的字符串会更安全-当前示例可能会导致现在应该使用XSS和方法来构造字符串的内部部分。他只是在对tempString发出愚蠢的警告。我在回答为什么它不工作:+1。也许你是对的,我不应该期望人们关心它:。