2010-06-02 3 views
5

Ich habe verschiedene Geschichten über ASP.NET und JavaScript gehört: dass es gut funktioniert, wenn Javascript deaktiviert ist, dass nur einige Teile nicht funktionieren und dass überhaupt nichts funktioniert.ASP.NET: Was genau ist betroffen, wenn Javascript ausgeschaltet ist?

Wie genau sind ASP.NET-Anwendungen betroffen, wenn JavaScript im Browser eines Clients deaktiviert ist? Welche Teile funktionieren nicht (falls vorhanden)?

Zum Beispiel funktioniert RequiredFieldValidators noch? Was ist mit UploadControls? AJAX UpdatePanels und AsyncPostBacks? DateiUploads? Laufen Seitencodebehinds noch?

Verzeihen Sie meine Ignoranz, ich kann nicht viel über das Thema zu finden, das in der Tiefe ist.

+1

Dies hängt davon ab, welche Steuerelemente Sie verwenden und wie Sie sie verwenden, dass es schwierig ist, vollständig zu antworten. Alles AJAX wird nicht funktionieren, aber Codebehind läuft immer. – jball

+1

RequiredFieldValidators wird immer noch auf der Serverseite arbeiten (Codebehind), aber ich denke nicht, dass sie auf Client-Seite ohne JS arbeiten werden. – jball

Antwort

2

LinkButtons funktionieren nicht, weil sie ein javascript: target ausgeben.

Wenn Sie GridView-Steuerelemente mit ButtonColumns verwenden, funktionieren diese nicht, da die Schaltflächen auch JavaScript sind. Eine Möglichkeit ist, eine TemplateColumn zu verwenden und < asp: Button > Objekte darin hinzuzufügen.

Auch GridView Paging und Sortierung ist JavaScript out-the-Box, so dass Sie benutzerdefinierte Paging und Sortierung schreiben müssten.

Jedes Steuerelement, bei dem AutoPostback auf true festgelegt ist (z. B. eine Dropdownliste), wird nicht automatisch zurückgeschrieben. Sie können den SelectedIndexChanged jedoch NUR bei dem nächsten Postback abfangen.

5

Client-seitige Validierung und Ajax wird nicht funktionieren, einschließlich asynchronen Postbacks und alle Kontrolle, die Javascript benötigt, um zu arbeiten.

Serverseitige Validierung (was immer passieren sollte) und volle Postbacks und solche sollten immer funktionieren, und ich denke, ein FileUpload-Steuerelement wird auch. Der größte Unterschied wäre, dass jemand nicht sehen würde, dass die eingegebenen Daten ungültig waren, bis das Formular abgeschickt wurde.

0

Jedes Steuerelement, das auf der Clientseite "etwas" tut, ohne dass eine vollständige Seitenanforderung zum Server zurückkehrt (dh das erneute Laden der Seite), erfolgt über JavaScript und funktioniert nicht, wenn JavaScript deaktiviert ist.

Denken Sie daran, dass HTML statisch ist, also alles, was sich im Browserfenster anders als CSS-Hover-Effekte oder irgendetwas, das ohne vollen Seitenaufruf zum Server zurückruft, per JavaScript erledigt, und Sie können nicht erwarten, dass das funktioniert mit JavaScript deaktiviert auf dem Client.