我在母版页面中获得了此代码:
<script type="text/javascript">
$("#<%=hfJavaScriptDetected.ClientID %>").val('yes');
</script>
<asp:HiddenField ID="hfJavaScriptDetected" runat="server" Value="no" />
因此,如果启用了JavaScript,则应该更改隐藏字段的值。
现在,我想要检查服务器端的这个值,如果设置为“no”,我想将用户重定向到页面Javascript.Aspx。
我不知道在哪个事件中查看隐藏字段值。我尝试了Page_Load事件,但似乎隐藏的字段值尚未设置。
答案 0 :(得分:5)
这样不容易吗?
<noscript>
<meta http-equiv="refresh" content="1;URL=http://www.mysite.com/Javascript.Aspx"/>
</noscript>
如果浏览器启用了javascript,则会忽略内部内容...但如果他们没有使用元标记,则在 1 秒,刷新此页面...而新网址是...... Javascript.Aspx
答案 1 :(得分:1)
未设置的原因是$("#<%=hfJavaScriptDetected.ClientID %>")
为空。您需要等待页面加载才能设置值。
你想要的是:
$(document).ready(function() {
$("#<%=hfJavaScriptDetected.ClientID %>").val('yes');
});