0
對於熟悉Javascript的人來說,這可能非常簡單,但是在將eval作爲參數傳遞時調用函數時遇到問題。我正在嘗試創建一堆動態複選框。我的文字顯示效果很好,但複選框給我帶來麻煩。問題是,我傳遞給複選框的值是一個字符串(「true」或「false」)而不是bool。如何將Eval()傳遞給Javascript函數
<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,但我什麼都試過了我能找到的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") %>')"
我在這裏誤解了一些根本性的東西嗎?有沒有辦法做到這一點?
什麼是「價值」?一個C#變量?也''ConvertToBoolean'可能只是'return(value ==「true」);' – JohnKiller
我沒有看到使用'Eval'的意思 – JohnKiller
@JohnKiller - 對不起,我應該指定:它是一個C#變量,它是從包含其他屬性(如「DisplayName」)的對象列表綁定到DataList。 (除了複選框外,還有其他一些項目也被綁定,請告訴我,如果這是相關的,我也可以添加該代碼)。問題是,我綁定的對象有一個「value」而不是bool的字符串。 – user2480201