动态aspx Javascript函数调用中的语法错误?

时间:2011-09-19 10:44:30

标签: c# javascript

我正在编写一些aspx代码来从服务器控件调用JavaScript函数。这是JavaScript:

<script type="text/javascript">
    function checkInfoPortalUnpin(portalareaid) {
        if(portalareaid == 1) {
            alert('a message');
        }
    }
</script>

这是调用aspx代码:

<asp:ImageButton OtherFields="omitted..."
   OnClientClick='checkInfoPortalUnpin(<%# Eval("PortalAreaID") %>);' />

当我在浏览器(IE8)中查看该行的来源时,它呈现为:

... onclick="checkInfoPortalUnpin(&lt;%# Eval(&quot;PortalAreaID&quot;) %>);"

我点击ImageButton时出现语法错误。我知道OnClientClick确实有效,因为如果我替换&lt;%#...%&gt;使用硬编码的'1',函数运行正常。我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

使用此:

... OnClientClick="checkInfoPortalUnpin('<%# Eval(\"PortalAreaID\") %>');" ...

答案 1 :(得分:0)

只需使用:

<asp:ImageButton runat="server" OnClientClick="checkInfoPortalUnpin('<%# Eval(\"PortalAreaID\") %>');" />

您忘记在服务器标记之外放置单引号。