Page.Request.Browser.EcmaScriptVersion indicherà cosa ASP.NET pensa sia vero. Ciò presuppone che i BrowserCaps siano corretti. Ti dà un'indicazione di primo passaggio che è probabilmente abbastanza vicina.
EDIT: Inizialmente ho frainteso la domanda (abilitata contro supportata). È possibile utilizzare il lato server BrowserCaps per eliminare gli UserAgent che non supportano JavaScript. Quindi utilizzare una riga di script su ogni richiesta per determinare se è abilitato tramite biscotto:
// let the server know JavaScript is enabled via session cookie
document.cookie = "js=1; path=/";
Poi rilevare l'esistenza sul lato server:
HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("js");
bool js = (cookie != null) && (cookie.Value == "1");
Una volta che chiudono il browser il cookie andrà via.
speravo in qualcosa di più pulito, ma se questo è l'unico modo che si può fare ... ti infilarlo nella una sessione var e ha un metodo accessor per renderlo più pulito. – Fermin