将内联ASP数据绑定传递给Javascript函数

问题描述 投票:1回答:3

我有一个运行JavaScript方法的按钮,它接受一个参数:

function MyFunc(param)
{
    // stuff here with the value passed in
}

我从我的ASPX代码中调用它:

onclientclick="if(!MyFunc('hard coded param')) return false;"

这适用于上面的硬编码参数,但是我得到一个错误,标签不能很好地形成以下内容

onclientclick="if(!MyFunc('<%# String.Concat(Eval("MyParam")) %>')) return false;"

onclientclick="if(!MyFunc(''<%# String.Concat(Eval("MyParam")) %>'')) return false;"

在ASP中格式化这个的正确方法是什么?

javascript asp.net
3个回答
1
投票

从一开始就在ASP.NET中出现过这个问题。如果属性中包含数据绑定,则需要切换到单引号以构建属性。我也尝试将整个属性值放在数据绑定块中以避免更多问题。

我会像这样编码:

 onclientclick='<%# String.Concat("if(!MyFunc(\"", Eval("Text"), "\")) return false;") %>'

0
投票

<%# String.Concat(Eval("MyParam")) %>改为<%# String.Concat(Eval(\"MyParam\")) %>


0
投票
<asp:Button runat="server" OnClientClick='<%# "if(!MyFunc(\""+ Eval("MyParam")+"\"))return false" %>'  Text="Hello"/>

<script type="text/javascript">
            function MyFunc(param) {
                alert(param);
            }

</script>
© www.soinside.com 2019 - 2024. All rights reserved.