ASP.NET开发中关于Web标准的几点建议
创始人
2024-04-28 21:10:35
0次

Visual Studio.NET从2003到现在的2008,一路走来慢慢强大……从以前的vs2003能自动改乱你的html代码到现在在vs2008中都能直接对html代码进行w3c标准验证并提示了,非常不易。

论坛中也经常有从事.NET开发的新手朋友问一些ASP.NET开发过程中与Web标准之间的冲突问题,其实说到底就是客户端代码生成的问题。更高深的开发层面的东西我也说不出来,从页面前端的角度和大家分享一下建议:

少用ASP.NET中的服务器端控件

在Visual Studio中,有一系列强大的控件,让我们的刚开始学习.NET开发人员爱不释手。但vs中的这些控件,大多都是基于winForm的那种模式搬来的,在网页开发上,有些控件还是少用为佳,比如:

不要什么也没都统统加form runat="server",有朋友说,不加form runat="server"其他控件很多就不可以用了。是的,我们就是要在必要的地方加,确实是有表单的地方,自然要加,但绝对不是.NET默认的那种,所有页面都在body标签下第一个标签就是form。这是不合理的。

少用Asp:Gridview这样的控件,可考虑asp:Repeater控件或者自己去写第三方控件,反正很简单,让代码输出听你的。

用asp:Literal替换asp:Label,asp:Literal输出是干净的。

少用asp:LinkButton这样的控件,链接就是链接,按钮就是按钮,没必要搞一个什么LinkButton……

默认的表单验证控件虽然用起来简单,但还是自己写的比较好用。

总之,我们要注重代码输出的质量,而默认的控件有些是达不到这个要求的。

少用Frameset/Iframe标签

在一般网页中用框架页来布局(Header/Sidebar/Content/Footer)的做法基本上已经淘汰了,当然,后台管理这类的应用还是可以用的,前端展现的页面就不可以了,Visual Studio 2005中开始,就有了MastERPage,这个用起来也非常方便。其实和早期asp中include header.asp这样的做法是相似的。

少用PostBack机制

.NET中的postback机制,有它的理由,合理使用吧,互联网产品中少用点没错!

多看成熟的.NET开源产品

比如:微软开源的oXite、PetShop、Discuz论坛的.NET版、BlogEngine、CVBBS等等,都是基于.NET开发的比较好的例子。

多关注客户端代码质量

毕竟是基于浏览器的,用户体验、W3C标准、浏览器兼容等等,没有好的客户端代码,都是支撑不起来的。

多学习必要的客户端知识

很多.NET初学者对html/css/JavaScript这些客户端基本知识了解得不够,特别是Javascript,你会发现很多以前你都Postback到服务器端去做的事情,原来用javascript就可以轻松地在客户端去完成了!Web开发,这是根基!

 

【编辑推荐】

  1. ASP.NET报表打印的实现:分页计算方式
  2. ASP.NET DataGrid自定义分页源程序
  3. ASP.NET分页代码的实现(C#,FCKeditor)
  4. ASP.NET基础语法概览
  5. ASP.NET安装步骤浅析

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...