2009-05-16 50 views
5
ASP.NET应用程序

不知道这属于社区维基...提示开发不依赖于JavaScript

有人能给如何成功构建ASP.NET网站的一般准则,不依赖于JavaScript?我的理解是,我最初应该在没有JavaScript的情况下构建一个功能性网站,并使用它来增强用户体验。这说起来容易做起来难......我如何确保我的网站在没有JavaScript的情况下无法使用JavaScript并试用它?或者这是有经验的东西吗?

回答

1

我已经构建了很少或没有JavaScript的工作ASP.Net网站,所以它绝对有可能(只是一个皇家的痛苦。)这个技巧,这听起来很愚蠢,尽可能使用尽可能少的<ASP:>类型标签。这些都产生了各种级别的JavaScript。普通的老派HTML元素在没有脚本的情况下工作得很好。

因此,在极端情况下,您使用所有普通香草HTML元素编写表单,然后在另一个接受表单提交并将其交给服务器的页面上提交该表单,侧脚本。

换句话说,假设你用ASP.NET获得的所有东西都是一种时髦的服务器端编程语言,并且你在1998年编写了HTML。

现在,做完了这些,我可以告诉你,这是什么结果,是一个经典的ASP网页与更清晰的编程语法。 ;)使ASP.NET比传统ASP更“优于”JavaScript的特性,因此编写一个无JavaScript的ASP.NET系统是一个反复练习用脚练习的练习。

但是,你应该绝对做的一件事是确保第一或第二页在没有JavaScript的情况下工作。与10年前不同的是,您可以安全地假设任何浏览器触发您的页面都有JavaScript,并且与大约8年前不同,您的访问者可能没有为速度原因关闭JavaScript,他们很可能有类似NoScript Firefox的插件一直打到11.所以,你的第一个几页需要足够好的工作,以a)告诉新访问者他们需要JavaScript,并且b)仍然看起来和工作足够好,使它看起来像添加你的网站到白名单是值得的。 (根据我的经验,大多数人会完成第一个完成,但完全放弃第二个球。换句话说 - 如果你的超级花式web 2.0巨型站点开始看起来像craigslist,如果noScript被解雇我可能不打算让你在我的机器上运行脚本。)

1

如果要使用许多ASP.NET控件(即DataGridView),ASP.NET页面会生成大量JavaScript以处理控件上的事件(即,在DataGridView中选择一行) 。我想你会失去很多ASP.NET,试图让ASP.NET在没有启用JavaScript的情况下工作是不切实际的。

+0

这很有趣。那么我应该在需要JavaScript的页面上进行检查吗?我是通过这么做来限制自己的,还是我非常需要用ASP.NET来做到这一点? – 2009-05-16 04:10:31

1

禁用Javascript是测试网站如何执行的最好方法。好消息是,IE8的开发者工具提供了一个快速而简单的方法来做到这一点。现在,话虽如此,通常你唯一能做的就是发出一个带有noscript标签的消息,以表明你的站点需要javascript来获得最佳功能。

+0

尝试在ASP.NET中创建不需要JavaScript的网站更实用吗? – 2009-05-16 04:11:34

+0

@Mike:这取决于你网站的内容。丰富的交互式Web 2.0站点不能没有客户端脚本。然而,纯文本信息网站可能会做。 – Cerebrus 2009-05-16 06:10:17

0

如果您担心在用户的浏览器中禁用了JavaScript,那么您可以检查并相应地处理您的网站。

如果你确实决定建立没有JavaScript的网站,那么你最终会建立一个有点静态的网站。如果你的需要只是建立一个静态网站,那么你可以继续这种方法。

+0

我想对我来说,这一切都归结为尝试在ASP.NET中构建一个不需要JavaScript来充分发挥作用的站点是可能的还是实际的。 – 2009-05-16 04:17:53

0

用基本的html表单和css写一切,然后你就会知道它在没有javascript的情况下工作。

一旦你对它感到满意,那么看看不引人注意的JavaScript,这样你就可以在启用javascript的时候修改应用程序的工作方式。

1

许多ASP.NET功能&控件在禁用JavaScript时不起作用。想想LinkBut​​ton的onclick事件,它包含对JavaScript函数的调用。

LinkBut​​ton就是一个例子。但还有很多其他的东西。

2

试用ASP.NET MVC!确保大部分示例都使用JavaScript来实现AJAX功能,但是构建不使用JavaScript的功能齐全的网站很容易。

由于ASP.NET MVC并未在所有嵌入式JavaScript中使用服务器控件,因此这是一种使用C#,VB编写您的数据访问和业务逻辑的极好轻量级HTML构建站点的好方法。 NET或任何其他.NET语言。

+0

我现在开始学习MVC。 – 2009-05-16 14:12:44

+0

此外,您如何管理您的AJAX功能,以便与不使用JavaScript的人员兼容?这可能或实际可行吗? – 2009-05-17 03:13:19

+0

这将是一个很好的新问题,或值得一搜。我尝试使一个Web应用程序无AJAX地工作,然后添加该功能。对于桌面浏览器,我认为JavaScript是一种给定的方式,不必担心没有它的人,但移动浏览器可能是一个不同的故事。我仍然在研究如何在现在正在构建的应用程序上处理这些问题。 – CoderDennis 2009-05-17 15:34:40

0

上次我查看了一些有关这方面的数据约1%禁用了JavaScript,所以为什么要花费几个小时来处理这个问题做是显示一条消息告诉用户您的网站需要JavaScript。

利用你的时间来提高生产力,而不是试图围绕感知的限制写作。