2010-06-22 193 views
0

在ASPX代碼背後,定義諸如VAR:如何獲得服務器端var值?

Public rate as decimal; 

然後在頁面的標記,讓像控制:

<asp:HiddenField ID="myRate" runat="server" Value='<%=rate%>'/> 

然後在javascript嘗試測試該值:

alert(document.getElementById('<%=myRate.ClientID%>').value); 

它給我的價值爲<%= myRate%>,在彈出式警告中不是0.01。

如何解決這個問題

回答

5

服務器標籤不是在這種情況下評估,以將其設置(這就是爲什麼你看到的文字文本):

<asp:HiddenField ID="myRate" runat="server" Value='<%=rate%>'/> 

最簡單的選擇是將其設置在代碼隱藏中:或者,除非它需要是服務器控件,只需使用一個隱藏的輸入:

<input id="myRate" type="hidden" value="<%=rate%>" /> 

,並使用該ID得到它:

document.getElementById('myRate').value 
+0

大!你的解決方案工作正常。非常感謝你。 – KentZhou 2010-06-22 17:41:20

0

嘗試設置在後面的代碼頁加載值,

我驚訝這種方法工作作爲我沒有想你可以使用的Response.Write的構建服務器控制?

另一種選擇可能是通過綁定語法所以

<asp:HiddenField ID="myRate" runat="server" Value='<%#this.rate%>'/> 
0

我會怎麼做

<asp:HiddenField ID="MyRate" runat="server" Value="<%# this.rate %>" /> 
在我的JavaScript

然後:

alert(document.getElementById('<%=myRate.ClientID%>').value); 
相關問題