在onclick事件中传递变量

时间:2018-05-17 14:09:07

标签: javascript asp.net-mvc

我在MVC应用程序的视图中定义了以下span元素

<span id="openDocument" 
      class="fa fa-sign-in" 
      style="cursor:pointer; 
      color:#5d9cec" 
      data-toggle="tooltip" 
      onclick="openDocument(@item.formattedReference.ToString())")>
</span>

Javascript功能:

function openDocument(documentId) {
    debugger;
    window.open("https://somelongURL/documentId=" + documentId);
};

我对此代码的问题是,此代码适用于具有数字的文档ID(例如12345),但它不适用于字母数字(例如R12345)。

它给我一个错误说:Uncaught Reference Error: R12345 is not defined.

我如何解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:3)

尝试将变量放在引号中:

<span ... onclick="openDocument('@item.formattedReference.ToString()')"></span>

与数字不同,字符串只能用引号传递。

<强>解释

  

未捕获参考错误:未定义R12345。

错误消息包含有关调试的所有信息,即一旦包含字母,传输的值就会被解释为变量。 R12345被解释为变量。