如何将Eval()传递给Javascript函数
本文关键字:Javascript 函数 Eval | 更新日期: 2023-09-27 18:02:14
对于熟悉Javascript的人来说,这可能非常简单,但在传递eval作为参数时,我在调用函数时遇到了问题。我有一堆我正在尝试创建的动态复选框。我的文本显示得很好,但复选框给我带来了麻烦。问题是,我传递给复选框的值是一个字符串("true"或"false"(,而不是bool。
<asp:CheckBox runat="server" AutoPostBack="True" Checked='<%# Eval("Value") %>' Text='<%# Eval("DisplayName") %>'></asp:CheckBox>
我还创建了一个简短的javascript函数,将其转换为布尔
function ConvertToBoolean(value)
{
if (value == "true")
{ return true;}
if (value == "false")
{ return false;}
}
我不擅长javascript,但我已经尝试了在SO上找到的所有东西。不确定为什么它对我不起作用。以下是我尝试过的:
Checked='<%# Eval("Value") %>'
Checked="'<%# Eval("Value") %>'"
Checked='<%# "ConvertToBoolean(" + Eval("Value") + ");" %>'
Checked='<%# "ConvertToBoolean('"" + Eval("Value") + "'");" %>'
Checked='<%# Eval("Value", "javascript:ConvertToBoolean({0});") %>'
Checked="ConvertToBoolean('<%# Eval("Value") %>')"
我是不是误解了一些基本的东西?有办法做到这一点吗?
<asp:CheckBox runat="server" AutoPostBack="True" Checked='<%# Eval("Value")=="true" %>' Text='<%# Eval("DisplayName") %>' />
这段代码在服务器端执行,并被翻译成HTML,类似
<input type="checkbox" checked="checked"> .....
当然,ASP需要评估您的Eval("Value")=="true"
,以决定是否需要输出checked