在后面的aspx代码中,定义一个类似于:
的varPublic rate as decimal;
然后在页面标记中,放置一个控件,如:
<asp:HiddenField ID="myRate" runat="server" Value='<%=rate%>'/>
然后在javascript中尝试测试此值:
alert(document.getElementById('<%=myRate.ClientID%>').value);
它给我的值为&lt;%= myRate%&gt;,而不是像警告弹出窗口中的0.01。
如何解决此问题
答案 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);