繁体   English   中英

如果在 ASP.NET mvc 母版页中禁用 JavaScript,如何重定向

[英]How to redirect if JavaScript is disabled in ASP.NET mvc masterpage

我有一个error.aspx页,我想检查用户是否禁用了它的 JavaScript,然后重定向到一个简单的error.aspx页面

在 Masterpage 上只需添加此代码

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

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

解决此问题的常用方法是重定向启用了javascript 的用户,并使用noscript标记为禁用它的用户显示错误。

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

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

<a href="/linktopage.aspx?js=disabled"
onclick="location.href='/linktopage.aspx?js=enabled';return false;">the page</a>

如果用户禁用了 javascript,他们将转到href属性中引用的页面,如果启用了它,则将执行onclick属性中的 JavaScript。

然后,您可以在服务器端读取查询字符串变量并在它等于“禁用”时重定向

if ( Request.QueryString["js"] == "disabled" ) {
    Response.Redirect("error.aspx");
}

请注意,如果该页面可添加书签,则用户可能最终使用 js=enabled 进入该页面,而实际上并未启用 js。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM