2012-03-13 50 views
0

我想知道如何從後端代碼設置javascript值。 我這行的JS代碼:從後端代碼設置javascript值

gts.push([ 'google_base_offer_id', 'ITEM_PRODUCT_SEARCH_ID']); 

什麼,我在這一刻嘗試是:

gts.push(['google_base_offer_id', document.getElementById("hidden").value]); 

我已經隱藏價值的標記設置:

<asp:HiddenField ID="hidden" runat="server" /> 

,並在後端代碼,OnPreRender事件,我這樣做:

hidden.Value = product.Product ctId.ToString();

該值設置正確,但是當我在瀏覽器中查看源代碼時,該值未填充。 我做錯了什麼,是否有可能填充這樣的值? 由於提前,Laziale

+1

該ID將會改變,您需要設置ClientId。 – Joe 2012-03-13 16:30:59

+0

當您查看源代碼時,隱藏字段的ID是否仍然「隱藏」? asp.net有時會更改asp元素的ID。 – 2012-03-13 16:32:46

回答

0

你應該能夠做到這一點,如:

gts.push(['google_base_offer_id', document.getElementById('<%= hidden.ClientID %>').value]); 
+0

這裏有任何編碼問題,因爲這是嵌入在HTML中的JavaScript ......不應該是'<%= some_asp_json_encode_function(hidden.ClientID%>'? – gahooa 2012-03-13 16:49:22

+0

@Danite沒有任何反應我得到這個:http:// gyazo。 com/a7be6c637f975a1f1a6fd7794175bc95 – Laziale 2012-03-13 17:02:16

+0

所以,你得到了隱藏字段的ID,你只需要使用getElementById ...我更新我的答案 – Dante 2012-03-13 17:06:55

0

你也可以試試這個方法:如果你在你的頁面上,使用一個ScriptManager,然後在

你後面的代碼可以在一個隱藏字段註冊JavaScript值

ScriptManager.RegisterHiddenField(this, "hiddenKey", "hiddenValue"); 

然後在aspx頁面,你可以使用

gts.push(['google_base_offer_id', document.getElementById("hiddenKey").value]);