[英]Is enabling JavaScript in browser a MUST to get working ASP.NET pages?
這是一個新手問題(我確定是這樣)。 我第一次嘗試在一個小的ASP.NET Web應用程序中,我正在研究如果我在瀏覽器中禁用Javascript會發生什么(我主要使用Firefox測試)。
結果:我的應用程序完全壞了,雖然我沒有編寫任何單行的Javascript。
例如:我在LoginStatus控件的頁面上有一個鏈接按鈕。 在我的瀏覽器中查看生成的HTML代碼,我看到:
<a id="ctl00_ctl00_LoginStatus" href="javascript:__doPostBack('ctl00$ctl00$LoginStatus$ctl02','')">Login</a>
與ListView控件中的某些鏈接按鈕類似,允許按特定數據字段對列表進行排序:生成的錨標記的href
包含: javascript:WebForm_DoPostBackWithOptions(...)
。
因此,如果沒有啟用Javascript,單擊“登錄”或嘗試排序將無法正常工作。
這是否意味着:在瀏覽器中禁用Javascript ASP.NET應用程序將無法正常工作? 或者我需要做些什么來使應用程序使用禁用的Javascript?
感謝您的反饋意見!
有些東西會起作用,有些則不會(見這里 )。 這並不是說你不能在沒有Javascript的情況下使用ASP.NET,你只需要避免使用下面提到的控件(我確信還有很多第三方控件)。
依賴於能夠運行客戶端腳本的ASP.NET服務器控件包括:
- LinkButton和HtmlButton服務器控件需要腳本。 (對於Button Web服務器控件或HtmlInputButton或HtmlInputImage控件,情況並非如此。)
- 默認情況下,Calendar控件使用LinkButton控件實現月份導航和日期選擇。 如果將控件屬性設置為允許用戶選擇日,周或月,或者如果允許用戶導航到其他月份,則Calendar控件將生成客戶端腳本。 如果您使用Calendar控件只顯示沒有選擇或導航的單個月,則控件不需要客戶端腳本。
- AutoPostBack屬性設置為true的任何Web服務器控件; 客戶端腳本是必需的,以便控件將發布頁面。
- Web驗證控件,需要客戶端腳本支持客戶端驗證。 如果客戶端不支持腳本,則驗證僅在服務器上運行。
除非您切換到ASP.NET MVC框架,否則,使用Web表單模型構建的ASP.NET站點需要JavaScript。
正如您所發現的那樣,啟用了autopostback
元素,任何linkbutton
控件或button
控件,以及任何客戶端驗證都將停止運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.