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

将内联ASP数据绑定传递给Javascript函数,javascript,asp.net,Javascript,Asp.net,我有一个按钮,它运行一个JavaScript方法,该方法接受一个参数: function MyFunc(param) { // stuff here with the value passed in } 我通过我的ASPX代码调用它: onclientclick="if(!MyFunc('hard coded param')) return false;" 这适用于上面的硬编码参数,但我得到一个错误,即标记的格式不正确,如下所示 onclientclick="if(!MyFunc('

我有一个按钮,它运行一个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;"
onclientclick=“if(!MyFunc(“”))返回false
onclientclick=“如果(!MyFunc(“”))返回false

在ASP中设置此格式的正确方法是什么?

更改为
此问题从一开始就存在于ASP.NET中。如果属性中有数据绑定,则需要切换到单引号来构建属性。我还尝试将整个属性值放在数据绑定块中,以避免出现更多问题

我会这样编码:

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

函数MyFunc(参数){
警报(参数);
}

我已经尝试了这两种方法,但在onclientclick=“if(!MyFunc(“”))return false;“onclientclick=“if(!MyFunc(“”))return false”上没有成功;虽然这段代码可能会回答这个问题,但通常认为添加对代码功能的解释是很好的做法。这使得不熟悉这一领域的开发人员能够理解代码中正在发生的事情,并帮助他们学会如何在将来自己解决问题。这是我的答案,尽管我不得不做出改变,替换\“与';为了让它工作,虽然这段代码可能会回答这个问题,但通常认为添加对代码功能的解释是一种良好的做法。这使得不熟悉这一领域的开发人员能够理解代码中正在发生的事情,并帮助他们学会如何在将来自己解决问题。
<asp:Button runat="server" OnClientClick='<%# "if(!MyFunc(\""+ Eval("MyParam")+"\"))return false" %>'  Text="Hello"/>

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

</script>