如果在asp.net mvc主页中禁用了javascript,如何重定向

时间:2010-06-18 11:17:03

标签: javascript asp.net-mvc

我有一个母版页,我想检查用户是否已禁用其javascript然后重定向到一个简单的error.aspx页面

2 个答案:

答案 0 :(得分:5)

在Master Page上添加此代码

<noscript>
<% Response.Redirect(Url.Action("ActionName","ControllerName")); %>
</noscript>

如果用户禁用了javascript,它将重定向到特定的控制器操作。

答案 1 :(得分:4)

解决此问题的常用方法是重定向已启用javascript 的用户,并使用{{1}为使用已禁用的用户显示错误} tag。

noscript

或者,如果您的页面不是用户在当前会话中加载的第一页,您可以添加指向该页面的链接,如

 <script type="text/javascript">
     location.href = 'pagethatneedsjavascript.aspx';
 </script>
 <noscript>
     This page needs JavaScript enabled!
 </noscript>

如果用户已禁用javascript,则会转到<a href="/linktopage.aspx?js=disabled" onclick="location.href='/linktopage.aspx?js=enabled';return false;">the page</a> 属性中引用的页面,如果已启用,则会执行href属性中的JavaScript。

然后,您可以在服务器端读取querystring变量并重定向,如果它等于“disabled”

onclick

请注意,如果页面是可收藏的,则用户可能会使用js = enabled而不在实际启用js的情况下结束页面。