我见过很多解决方案来检查用户是否在C#中禁用了服务器端的JavaScript(我的意思是非常残疾,而不是如果浏览器不支持JavaScript,因为我已经尝试EcmaScriptVersion)。Sitecore - WebMethod未被调用
这里有两个,我发现的文章:
- How to detect if JavaScript is enabled from the server side in C#/.NET
- Detect if JavaScript is enabled in ASPX
我目前正试图从努诺·弗雷塔斯第一种方法,因为它似乎是最干净的无必须使用查询字符串参数,但会话变量永远不会被设置,SetJavascriptEnabled也不会被调用。
我已经添加的ScriptManager到我的aspx页面像这样
<asp:ScriptManager ID="scriptManager" runat="server" EnablePageMethods="true"/>
而且启动脚本被登记在文章中(在OnPreRender事件),但它不是在页面被显示。顺便说一句,这是一个使用sitecore的网站。
任何帮助?
我们无法为您写下一个解决方案。努力工作,向我们展示一些代码,解释为什么它不起作用... – 2014-10-17 11:02:17
您的问题不在于检测Javascript。它调用Web方法。你应该问一个问题,为什么你的第一个解决方案不起作用。 – CodingIntrigue 2014-10-17 11:08:06
你在页面上看到嵌入的JS吗?查看源代码并检查“PageMethods.SetJavascriptEnabled”或类似的内容 - 如果不在页面上,则不会调用它。同时检查您的浏览器控制台是否有调用方法的错误。 – 2014-10-17 11:12:49