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

Syntax error in dynamic aspx Javascript function call?

本文关键字:语法 错误 函数调用 aspx Javascript 动态      更新时间:2023-09-26

我正在编写一些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确实工作,因为如果我替换<%#…%>带有硬编码的'1',函数运行正常。我错过什么了吗?

使用

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

直接使用:

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

你忘记在server标签外面加单引号了