如何获得服务器端var值?

时间:2010-06-22 17:20:15

标签: asp.net javascript

在后面的aspx代码中,定义一个类似于:

的var
Public rate as decimal;

然后在页面标记中,放置一个控件,如:

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

然后在javascript中尝试测试此值:

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

它给我的值为&lt;%= myRate%&gt;,而不是像警告弹出窗口中的0.01。

如何解决此问题

3 个答案:

答案 0 :(得分:5)

在这种情况下不评估服务器标签(这就是您看到文字文本的原因):

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

最简单的选择是在代码隐藏中设置它:

myRate.Value = rate;

或者,除非它需要是服务器控件,否则只需使用隐藏的输入:

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

使用该ID获取它:

document.getElementById('myRate').value

答案 1 :(得分:0)

尝试在后面的代码中设置页面加载值

我很惊讶这种方法有效,因为我认为你不能在服务器控件中使用response.write构造吗?

另一种选择可能是通过绑定语法设置它,所以

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

答案 2 :(得分:0)

我该怎么做

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

然后在我的javascript中:

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