2015-03-31 29 views
0

我想在JavaScript的這項工作動態addressType動態的FindControl在JavaScript

var addressType = "foo"; 

document.getElementById('<%= this.FindControl("'" + addressType + "'").ClientID%>').value = val; 
+1

你混合客戶端和服務器端的代碼。這不可能。如果你想 - 詳細說明你的用例,以便我們可以建議你實現它的一種方式 – Andrei 2015-03-31 15:17:30

+0

我正在嘗試獲取JavaScript的隱藏輸入值onclick linkbutton。組件是usercontrol我無法從Request.Forms達到一些如何。 – Mert 2015-04-01 07:49:24

+0

你所暗示的是靜態不動態,我解決了你可以在asnwers中找到的問題。無論如何,謝謝 – Mert 2015-04-01 08:38:34

回答

0

您應該能夠爲CssClass財產分配給該元素。例如:

<asp:SomeElement CssClass="someclass"> 

document.getElementsByClassName('someclass')[0].value; 
+0

類型'System.Web.UI.WebControls.HiddenField'沒有名爲'class'的公共屬性。或CssClass :( – Mert 2015-04-01 07:45:25

+0

它有一個'ClientIDMode'設置爲'Static',同樣的原則適用:'document.getElementById('idname').value'。你可以閱讀它[這裏](https:// msdn .microsoft.com/EN-US /庫/ system.web.ui.control.clientidmode(v = vs.110)的.aspx)。 – beautifulcoder 2015-04-01 13:40:01

0

我解決它像這樣

var addressType = "foo"; 

document.getElementById('<%= this.ClientID +"_"%>' + addressType).value = val;