Asp.Net - 如果未启用JavaScript,则重定向

时间:2009-10-12 13:48:15

标签: javascript asp.net-3.5

我在母版页面中获得了此代码:

<script type="text/javascript">
    $("#<%=hfJavaScriptDetected.ClientID %>").val('yes');
 </script>

<asp:HiddenField ID="hfJavaScriptDetected" runat="server" Value="no" />

因此,如果启用了JavaScript,则应该更改隐藏字段的值。

现在,我想要检查服务器端的这个值,如果设置为“no”,我想将用户重定向到页面Javascript.Aspx。

我不知道在哪个事件中查看隐藏字段值。我尝试了Page_Load事件,但似乎隐藏的字段值尚未设置。

2 个答案:

答案 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');
});