我在我的母版页上没有放置脚本标签,如果用户没有启用javascript或者它的浏览器不支持javascript,它会重定向到特定视图。即时通讯使用此代码
<noscript>
<% Response.Redirect("../UserLogin/Error"); %>
</noscript>
但问题是每当我打开页面时它会重定向我,尽管我的javascript已启用。我使用asp.net mvc2可能是什么问题,还是有其他方法可以做到这一点?
答案 0 :(得分:3)
Response.Redirect
在服务器端执行,它将向浏览器发送302状态代码,该代码将自动重定向。你可能想要:
<noscript>
Please enable javascript to use this site.
</noscript>
答案 1 :(得分:1)
标记noscript
在客户端(浏览器)中进行评估。服务器不知道客户端是否具有脚本支持,因此每次重定向时都是如此。
修改强>
更好地说明:服务器只创建一个字符串(HTML)并将其发送到浏览器。它没有解析浏览器是否有脚本支持。
编辑2
您可以使用meta refresh标记。参见:
<head>
<noscript>
<meta http-equiv="refresh" content="0;url=http://example.com/" />
<!-- Redirect to http://example.com/ immediately -->
</noscript>
</head>
我在firefox中测试并且工作。