2012-03-13 48 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]);