簡體   English   中英

如何將Eval()傳遞給Javascript函數

[英]How to pass Eval () to Javascript function

對於熟悉Javascript的人來說,這可能真的很簡單,但是我在傳遞eval作為參數時調用函數時遇到了麻煩。 我有很多嘗試創建的動態復選框。 我的文字顯示很好,但是復選框給我帶來了麻煩。 問題是,我傳遞給復選框的值是一個字符串(“ true”或“ false”)而不是布爾值。

<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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM