我創建javascript變量使用c#.net代碼隱藏在頁面後面,並將該變量放在頁面上使用Page.ClientScript.RegisterClientScriptBlock()。所以這個變量在頁面上可用,我可以使用jquery在客戶端讀取(獲取)該變量值。JavaScript變量存在頁上
我做如下:
C# :
category_columnNames += "var vertical_" + catItem.VerticalID + "_columnNames=['Tools','PersonID','Topic','Category','Cost','Company']";
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "LoadColumnNames", category_columnNames, true);
通過這樣做,讓我們說:var vertical_1_columnNames=['Tools','PersonID','Topic','Category','Cost','Company'];
是頁面上。現在我想先檢查一下variable(vertical_1_columnNames)
是否存在於頁面上。如果是的話,我需要在客戶端side.I'm得到它(['Tools','PersonID','Topic','Category','Cost','Company']
)值做下面的客戶端:
客戶端:
function ViewCartDirectLeadsGridInit(gridID) {
alert(gridID);//vertical_1_CategoryGrid
var vertical = gridID.toString().split('_')[1];
var columnNames = "vertical_" + vertical + "_columnNames";
alert(columnNames); // vertical_1_columnNames
alert(typeof(columnNames));// string
alert(eval(columnNames)); // ['Tools','PersonID','Topic','Category','Cost','Company']
if (!window.columnNames) // This is not working.I want to check for existence of var vertical_1_columnNames
{
alert("success");
return false;
}
else{
// do something;
}
}
什麼建議嗎?
感謝,
一個
反過來,你也可以通過window [「columnNames」]來訪問'window.columnNames',它們是等價的。我建議你儘可能使用點符號和括號表示法,當你處理動態鍵或帶有空格的鍵時。 – Halcyon 2011-05-29 00:13:15
@ Manji:謝謝你!現在正在工作。 – user659469 2011-05-29 03:51:12
@Frits van Campen:謝謝你,但你的動態密鑰是什麼意思? – user659469 2011-05-29 03:52:03