2017-01-18 159 views
1

我從代碼隱藏類返回aspx頁的公共屬性:如何將字符串轉換爲JavaScript中的布爾值?

window.MyWIndow.IsFull = '<%=this.IsFull%>'; 

在代碼隱藏它的定義是這樣的:

public bool IsFull 
{ 
    get; 
    set; 
} 

現在,當我使用它在我的JavaScript文件,我有以下代碼:

var isShow = myself.IsFull; 

這樣isShow或者是'True''False'

我需要在頁面級別轉換它,所以isShowboolean而不是string

所以,我可以寫if else邏輯

我該怎麼辦呢?

+2

* 「嘗試不同的東西」 * ......總是給你試了一下 – charlietfl

回答

2

您可以使用JSON.parse('true');

JSON.parse(isShow.toLowerCase()); 

試試下面的例子。

var result = ['True', 'False'] 
 

 
var isShow = result[Math.round(Math.random())]; 
 

 
console.log(JSON.parse(isShow.toLowerCase()));

+1

'toLowerCase'是功能...也檢查拼寫 – charlietfl

+0

謝謝@charlietfl最終到達那裏:-) –

3

如果你知道它總是會返回字符串真假,你可以只使用;

window.MyWindow.IsFull = '<%=this.IsFull%>' === "True"; 
+0

如果某些瀏覽器返回「true」而不是「True」,該怎麼辦? – gene

+0

@gene--這不是瀏覽器的功能......'<%= this.IsFull%>'將會是「True」或「False」 - 沒有其他的東西 –

+0

這就是假設你的意思是False。這不是瀏覽器返回這個 - 這是他的後端。他在問題中非常清楚地表示,他知道它會返回「真」或「假」。如果他不能依賴那個,那麼他可能需要做一些字符串操作。 – Shadow

0

另一種方法是

window.MyWIndow.IsFull = <%=this.IsFull.ToString().ToLower()%>; 

注意,沒有引號

-1

錯誤的答案是錯的...

幾個選項。您可以使用內置的Booleanobject wrapper 這樣的:

var string = myself.IsFull 
var isShow = new Boolean(string.toLowercase); 

或使用邏輯 NOT 操作兩次這樣的:

var string = myself.IsFull 
var isShow = !(!string.toLowercase); 

編輯:但爲什麼???? [![請在此輸入圖像說明] [1] [1]

[1]:https://i.stack.imgur.com/359zg.png

+1

將不起作用字符串** - '真'或'假'在問題 –

+0

lol .... nevermind – Brice

+0

fiiiiixed :) :) – Brice

相關問題