Page.Request.Browser.EcmaScriptVersion indicará lo ASP.NET piensa que es cierto. Esto supone que los BrowserCaps son correctos. Le da una indicación de primer paso que probablemente sea bastante cercana.
EDIT: Inicialmente malentendí la pregunta (habilitada frente a admitida). Puede utilizar el lado del servidor BrowserCaps para eliminar los UserAgents que no admiten JavaScript. A continuación, utilice una línea de secuencia de comandos en cada solicitud para determinar si se habilita a través de cookies:
// let the server know JavaScript is enabled via session cookie
document.cookie = "js=1; path=/";
entonces detectar la existencia del lado del servidor:
HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("js");
bool js = (cookie != null) && (cookie.Value == "1");
Una vez que se cierre el navegador esta cookie desaparecerá.
Me esperaba algo más limpio, pero si esa es la única manera que se puede hacer ... Voy a almacenar en una sesión var y tiene un método de acceso para hacerlo más limpio. – Fermin