对于熟悉Javascript的人来说,这可能非常简单,但是在将eval作为参数传递时我无法调用函数。我有一堆动态复选框,我正在尝试创建。我的文字显示很棒,但复选框给我带来了麻烦。问题是,我传递给复选框的值是一个字符串(“true”或“false”)而不是bool。
<asp:CheckBox runat="server" AutoPostBack="True" Checked='<%# Eval("Value") %>' Text='<%# Eval("DisplayName") %>'></asp:CheckBox>
我还创建了一个简短的javascript函数来将其转换为boolean
function ConvertToBoolean(value)
{
if (value == "true")
{ return true;}
if (value == "false")
{ return false;}
}
我对javascript不太满意,但我已经尝试了所有我能找到的东西。不知道为什么它不适合我。这是我尝试过的:
Checked='<%# Eval("Value") %>'
Checked="'<%# Eval("Value") %>'"
Checked='<%# "ConvertToBoolean(" + Eval("Value") + ");" %>'
Checked='<%# "ConvertToBoolean(\"" + Eval("Value") + "\");" %>'
Checked='<%# Eval("Value", "javascript:ConvertToBoolean({0});") %>'
Checked="ConvertToBoolean('<%# Eval("Value") %>')"
我是否误解了一些基本的东西?有没有办法做到这一点?
答案 0 :(得分:0)
<asp:CheckBox runat="server" AutoPostBack="True" Checked='<%# Eval("Value")=="true" %>' Text='<%# Eval("DisplayName") %>' />
此代码在服务器端执行,并转换为HTML,如
<input type="checkbox" checked="checked"> .....
当然ASP需要评估您的Eval("Value")=="true"
以确定是否需要输出checked