我正在编写一些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(<%# Eval("PortalAreaID") %>);"
我点击ImageButton时出现语法错误。我知道OnClientClick确实有效,因为如果我替换&lt;%#...%&gt;使用硬编码的'1',函数运行正常。我错过了什么吗?
答案 0 :(得分:1)
使用此:
... OnClientClick="checkInfoPortalUnpin('<%# Eval(\"PortalAreaID\") %>');" ...
答案 1 :(得分:0)
只需使用:
<asp:ImageButton runat="server" OnClientClick="checkInfoPortalUnpin('<%# Eval(\"PortalAreaID\") %>');" />
您忘记在服务器标记之外放置单引号。