Page.Request.Browser.EcmaScriptVersion sẽ chỉ ra những gì ASP.NET nghĩ là đúng. Điều này giả định rằng các BrowserCaps là chính xác. Nó cung cấp cho bạn một dấu hiệu vượt qua đầu tiên mà có lẽ là khá gần.
EDIT: Tôi ban đầu hiểu lầm câu hỏi (được bật so với được hỗ trợ). Bạn có thể sử dụng phía máy chủ BrowserCaps để loại bỏ những UserAgents đó không hỗ trợ JavaScript. Sau đó sử dụng một dòng kịch bản trên mỗi yêu cầu để xác định nếu nó được kích hoạt thông qua cookie:
// let the server know JavaScript is enabled via session cookie
document.cookie = "js=1; path=/";
sau đó phát hiện sự tồn tại server-side:
HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("js");
bool js = (cookie != null) && (cookie.Value == "1");
Một khi họ đóng trình duyệt cookie này sẽ biến mất.
Tôi đã hy vọng cho một cái gì đó bụi nhưng nếu đó là cách duy nhất có thể được thực hiện ... Tôi sẽ lưu trữ nó trong một phiên var và có một phương thức accessor để làm cho nó sạch hơn. – Fermin