Uncaught ReferenceError: XXX is not defined with specific value

Uncaught ReferenceError: XXX is not defined with specific value

单击以下 link 时出现以下异常:

Uncaught ReferenceError: G502 is not defined


<asp:LinkButton ID="lkSelect" runat="server" Font-Names="Tahoma" Font-Size="8" OnClientClick='<%# "CallParent(" +Eval("l_room_no").ToString() + " );" %>'><%# Eval("Cell_Data") %></asp:LinkButton>

仅当 :

 Eval("l_room_no") = G502

我的脚本函数:

 function CallParent(room) {
          //  window.opener.DrawPaths(room);
            // window.close();
            alert(room);
        }

根据当前的实施,G502 被视为变量,因此您会收到错误。

OnClientClick="<%#string.Format("CallParent('{0}');",Eval("l_room_no")) %>"

CallParent 的参数应该用引号括起来。但是,由于数据绑定表达式已经使用了单引号和双引号,您可以将转换后的字符代码传递给 string.Format:

<asp:LinkButton ... OnClientClick='<%# string.Format("CallParent({0}{1}{0});", (char)39, Eval("l_room_no")) %>' Text='<%# Eval("Cell_Data") %>' />

此示例假定您使用 C#。 (char)39 的 VB.NET 等价于 chr(39).