通过JavaScript函数传递eval不太合适

时间:2013-06-27 09:50:00

标签: javascript asp.net

我从搜索中得到了一些答案,但我的功能仍未运行

我的代码

<a href="javascript:;" onclick='<%# "search(" + Eval("Name") + ");" %>'><%# Eval("Name") %></a></li>

功能

    function search(val) {
        alert(val);
        searchPagingTable(val, '#tblUsers');
    }

html看起来像

<a onclick="search(Fred);" href="javascript:;">

控制台错误

SCRIPT5009: 'Fred' is undefined 

我想我需要获取字符串周围的引号,但如果我在aspx中放入单引号,那也会因为不同的错误而失败

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

这样做:

onclick='<%# "search(\"" + Eval("Name") + "\");" %>'>

添加转义引号会修复它。

答案 1 :(得分:0)

尝试转义字符串周围的引号。

<a href="javascript:;" onclick='<%# "search(\'" + Eval("Name") + ");"\' %>'><%# Eval("Name") %></a></li>

从外观上看,你试图用一个名为'Fred'的变量作为参数调用'search'函数,而你想提供一个字符串,其内容设置为'Fred'作为参数。如果我错了,请纠正我。