簡體   English   中英

是否在瀏覽器中啟用JavaScript以獲得有效的ASP.NET頁面?

[英]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服務器控件包括:

  • LinkBut​​ton和HtmlButton服務器控件需要腳本。 (對於Button Web服務器控件或HtmlInputButton或HtmlInputImage控件,情況並非如此。)
  • 默認情況下,Calendar控件使用LinkBut​​ton控件實現月份導航和日期選擇。 如果將控件屬性設置為允許用戶選擇日,周或月,或者如果允許用戶導航到其他月份,則Calendar控件將生成客戶端腳本。 如果您使用Calendar控件只顯示沒有選擇或導航的單個月,則控件不需要客戶端腳本。
  • AutoPostBack屬性設置為true的任何Web服務器控件; 客戶端腳本是必需的,以便控件將發布頁面。
  • Web驗證控件,需要客戶端腳本支持客戶端驗證。 如果客戶端不支持腳本,則驗證僅在服務器上運行。

除非您切換到ASP.NET MVC框架,否則,使用Web表單模型構建的ASP.NET站點需要JavaScript。

正如您所發現的那樣,啟用了autopostback元素,任何linkbutton控件或button控件,以及任何客戶端驗證都將停止運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM