检查服务器端ASP.NET是否启用了Javascript

检查服务器端ASP.NET是否启用了Javascript,asp.net,javascript,Asp.net,Javascript,是否可以检查客户端浏览器是否已从ASP.NET代码启用javascript 理想情况下,我希望在控件的预渲染或页面加载上执行此操作,以便可以更改它们的外观 如果您有任何建议、解决办法等,我们将不胜感激。如果您不提出后续请求,恐怕您无法做到这一点 通过在Google上进行搜索可以找到一些解释,大多数情况下使用AJAX调用或隐藏字段,这些字段通过一些javascript进行传播,如果禁用javascript,这些字段将无法运行 如果您必须这样做,那么我会尝试在客户机的第一个请求中这样做,并保存一个c

是否可以检查客户端浏览器是否已从ASP.NET代码启用javascript

理想情况下,我希望在控件的预渲染或页面加载上执行此操作,以便可以更改它们的外观


如果您有任何建议、解决办法等,我们将不胜感激。

如果您不提出后续请求,恐怕您无法做到这一点

通过在Google上进行搜索可以找到一些解释,大多数情况下使用AJAX调用或隐藏字段,这些字段通过一些javascript进行传播,如果禁用javascript,这些字段将无法运行

如果您必须这样做,那么我会尝试在客户机的第一个请求中这样做,并保存一个cookie(或类似的东西),然后在后续请求中检查cookie的值。这假设用户不经常启用/禁用Javascript。您还可以在会话中存储一个值


我希望这有助于

Page.Request.Browser.EcmaScriptVersion指出ASP.NET认为正确的地方。这假设BrowserCaps是正确的。它确实给你一个第一次通过的指示,这可能非常接近

编辑:我最初误解了这个问题(启用与支持)。您可以使用BrowserCaps服务器端删除那些不支持JavaScript的用户代理。然后在每个请求上使用一行脚本来确定是否通过cookie启用:

// let the server know JavaScript is enabled via session cookie
document.cookie = "js=1; path=/";
然后检测服务器端是否存在:

HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("js");
bool js = (cookie != null) && (cookie.Value == "1");

一旦他们关闭浏览器,这个cookie就会消失。

我认为这篇文章将用于检查服务器端是否启用javascript

我希望有更干净的东西,但如果这是唯一的办法。。。我将把它存储在会话变量中,并使用一个访问器方法使它更干净。