2010-06-02 71 views
5

我聽說過關於ASP.NET和JavaScript的不同故事:它在Javascript關閉時可以正常工作,只有一些部分不起作用,而且什麼都不起作用。ASP.NET:Javascript關閉時會受到什麼影響?

如果JavaScript在客戶端瀏覽器中被關閉,ASP.NET應用程序到底有多嚴重?哪些部件不起作用(如果有的話)?

例如,RequiredFieldValidators還會工作嗎?那麼UploadControls呢? AJAX UpdatePanels和AsyncPostBack的?文件上傳?頁面代碼隱藏仍然運行?

原諒我的無知,我似乎無法找到很深入的問題。

+1

這非常依賴於您使用的控件以及您如何使用它們,因此很難完全回答。所有AJAX都不會運行,但代碼隱藏始終運行。 – jball 2010-06-02 22:53:25

+1

RequiredFieldValidators仍然可以在服務器端(代碼隱藏)工作,但我認爲他們不會在沒有JS的客戶端工作。 – jball 2010-06-02 22:55:41

回答

2

LinkBut​​tons不工作,因爲它們渲染出一個javascript:target。

如果您使用帶有ButtonColumns的GridView控件,那麼這些將無法正常工作,因爲按鈕也是JavaScript。解決這個問題的一個方法是使用TemplateColumn並在其中添加< asp:Button >對象。

此外,GridView分頁和排序是JavaScript的開箱即用,因此您必須編寫自定義分頁和排序。

另外,AutoPostback設置爲true的任何控件(例如DropdownList)都不會自動回發。您將能夠捕獲SelectedIndexChanged,但只有在發生下一次回發時纔會發生。

5

客戶端驗證和Ajax無法正常工作,包括異步回傳和任何需要使用Javascript才能工作的控件。

服務器端驗證(應始終發生)和完整的回發,這應該始終工作,我認爲FileUpload控件也將如此。最大的區別是,有人不會看到他們輸入的數據在表單提交之前無效。

0

任何沒有完整頁面請求返回到服務器(即整個頁面重新加載)的客戶端「執行某些操作」的控件都是通過JavaScript完成的,並且在關閉JavaScript時不起作用。

記住HTML是靜態的,所以瀏覽器窗口中除CSS懸停效果之外的任何「改變」,或者沒有完整頁面重新加載回調到服務器的任何東西都是通過JavaScript完成的,並且你不能指望它能夠工作在客戶端禁用JavaScript。

相關問題