2010-02-23 67 views
5

这是一个新手问题(我确定它是)。我已经尝试了第一次在一个ASP.NET的Web应用程序中,我正在研究如果我在浏览器中禁用Javascript(我主要使用Firefox进行测试)会发生什么。是否启用JavaScript中的浏览器必须得到工作的ASP.NET页面?

结果:尽管我没有写过任何单行的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?

感谢您的反馈!

+0

这是ASP.NET Web Forms,它非常古董。这使你无法控制呈现的HTML和JavaScript。为了完全控制所有的HTML和JavaScript,你可以使用ASP.NET MVC。 – bzlm 2010-02-23 17:52:09

+1

@bzlm“古董”在“积极维护,即将推出一个重大新版本”的感觉? – bdukes 2010-02-23 18:17:09

+0

@bdukes在TechEd的技术主题演讲中,有一个COBOL演示,展示了VS 2010中新的COBOL支持(通过第三方)。不会让COBOL变得古色古香。 :) http://graysmatter.codivation.com/post/WebForms-The-Whining-Continues.aspx – bzlm 2010-02-23 18:52:47

回答

5

有些东西会起作用,有些不会(请参阅here)。这并不是说你不能在没有Javascript的情况下使用ASP.NET,你只需要避免下面提到的控件(我敢肯定还有很多第三方控件)。

依赖于能够运行客户端脚本的ASP.NET服务器控件包括:

  • LinkBut​​ton的和HtmlButton服务器控件需要脚本。 (这不适用于Button Web服务器控件或HtmlInputButton或HtmlInputImage控件。)
  • 默认情况下,Calendar控件使用LinkBut​​ton控件实现月份导航和日期选择。如果您将控件属性设置为允许用户选择一天,一周或一个月,或者如果允许用户导航到其他月份,则Calendar控件将生成客户端脚本。如果您只使用日历控件来显示一个没有选择或导航的月份,则该控件不需要客户端脚本。
  • 其AutoPostBack属性设置为true的任何Web服务器控件;客户端脚本是必需的,以便控件将发布页面。
  • Web验证控件,需要客户端脚本来支持客户端验证。如果客户端不支持脚本,验证将仅在服务器上运行。
+0

谢谢,这确实是一件重要的事情要知道!这对我来说是新的。 – Slauma 2010-02-23 18:19:17

4

除非切换到ASP.NET MVC框架,否则使用Web表单模型构建的ASP.NET网站需要JavaScript。

启用了autopostback的元素,任何linkbutton控件或button控件,并且任何客户端验证都将停止运行,如您所发现的。

相关问题