如何获得服务器端的var值?

Ken*_*hou 0 javascript asp.net

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

Public rate as decimal;
Run Code Online (Sandbox Code Playgroud)

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

<asp:HiddenField ID="myRate" runat="server" Value='<%=rate%>'/>
Run Code Online (Sandbox Code Playgroud)

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

alert(document.getElementById('<%=myRate.ClientID%>').value);   
Run Code Online (Sandbox Code Playgroud)

它给我的值为<%= myRate%>,而不是像警告弹出窗口中的0.01.

如何解决这个问题

Nic*_*ver 5

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

<asp:HiddenField ID="myRate" runat="server" Value='<%=rate%>'/>
Run Code Online (Sandbox Code Playgroud)

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

myRate.Value = rate;
Run Code Online (Sandbox Code Playgroud)

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

<input id="myRate" type="hidden" value="<%=rate%>" />
Run Code Online (Sandbox Code Playgroud)

并使用该ID获取它:

document.getElementById('myRate').value
Run Code Online (Sandbox Code Playgroud)