我正在尝试在 MVC2 View 页面中单击时调用 JavaScript 函数。

 <a onclick=" SelectBenefit(<%=o.ba_Object_id %>,<%=o.ba_Object_Code %>)" href="#">Select</a>

JavaScript 函数
 function SelectBenefit(id,code) {
     alert(id);
     alert(code);
 }

这里 ba_Object_Id 和 Code 是来自 ViewModel 的值。如果我以这种方式使用 SelectBenefit(<%=o.ba_Object_id %>),它工作正常。但是当我有两个参数时它不是。我收到这个错误:
conditional compilation is turned off.

最佳答案

我认为你需要在第二个参数周围加上引号,如果它是一个字符串:

<a onclick=" SelectBenefit(<%=o.ba_Object_id %>, '<%=o.ba_Object_Code %>')" href="#">Select</a>

这就是说您的参数需要正确编码,我不会像这样传递它们。我会将它们序列化为 JSON 对象以确保一切正常。像这样:
<a onclick="SelectBenefit(<%= new JavaScriptSerializer().Serialize(new { id = o.ba_Object_id, code = o.ba_Object_Code }) %>)" href="#">Select</a>

然后 SelectBenefit 函数可能如下所示:
function SelectBenefit(benefit) {
    alert(benefit.id);
    alert(benefit.code);
}

10-08 08:01
查看更多