asp.net开发与web标准的冲突问题的一些常见解决方法
论坛中也经常有从事.net开发的新手朋友问一些asp.net开发过程中与web标准之间的冲突问题,其实说到底就是客户端代码生成的问题。更高深的开发层面的东西我也说不出来,从页面前端的角度和大家分享一下建议:
少用asp.net中的服务器端控件
在VisualStudio中,有一系列强大的控件,让我们的刚开始学习.net开发人员爱不释手。但vs中的这些控件,大多都是基于winForm的那种模式搬来的,在网页开发上,有些控件还是少用为佳,比如:
- 不要什么也没都统统加formrunat="server",有朋友说,不加formrunat="server"其他控件很多就不可以用了。是的,我们就是要在必要的地方加,确实是有表单的地方,自然要加,但绝对不是.net默认的那种,所有页面都在body标签下第一个标签就是form。这是不合理的。
- 少用Asp:Gridview这样的控件,可考虑asp:Repeater控件或者自己去写第三方控件,反正很简单,让代码输出听你的。
- 用asp:Literal替换asp:Label,asp:Literal输出是干净的。
- 少用asp:LinkButton这样的控件,链接就是链接,按钮就是按钮,没必要搞一个什么LinkButton……
- 默认的表单验证控件虽然用起来简单,但还是自己写的比较好用。
- 总之,我们要注重代码输出的质量,而默认的控件有些是达不到这个要求的。
少用Frameset/Iframe标签
在一般网页中用框架页来布局(Header/Sidebar/Content/Footer)的做法基本上已经淘汰了,当然,后台管理这类的应用还是可以用的,前端展现的页面就不可以了,VisualStudio2005中开始,就有了MasterPage,这个用起来也非常方便。其实和早期asp中includeheader.asp这样的做法是相似的。
少用PostBack机制
.net中的postback机制,有它的理由,合理使用吧,互联网产品中少用点没错!
多看成熟的.net开源产品
比如:微软开源的oXite、PetShop、Discuz论坛的.net版、BlogEngine、CVBBS等等,都是基于.net开发的比较好的例子。
多关注客户端代码质量
毕竟是基于浏览器的,用户体验、W3C标准、浏览器兼容等等,没有好的客户端代码,都是支撑不起来的。
多学习必要的客户端知识
很多.net初学者对html/css/javascript这些客户端基本知识了解得不够,特别是javascript,你会发现很多以前你都Postback到服务器端去做的事情,原来用javascript就可以轻松地在客户端去完成了!Web开发,这是根基!
前几天看了下oXite,顺便装上了asp.netMVCBeat,我也不是.net的铁杆粉丝,但是也就没有留意,今天抽空新建了一个MvcApplication示例项目大致地了解了一下,看到了我所希望看到的几个亮点:
- 代码生成的非常干净,这点很重要。
- 不使用现有的将交互返回服务器的postback模型,也就是说在基于MVC的视图内没有viewstate或page的生命周期之说。
- 它包括一个非常强大的URL映射组件,允许你使用非常干净的URL来建造应用。
相关文章
- ASp.NET MVC 路由「建议收藏」
- IDEA报错java.net.SocketTimeoutException:Read timed out
- .Net Core3.1 SignalR for WPF Asp.net
- 【愚公系列】2023年01月 Dapr分布式应用运行时-Dapr运行.Net Core程序
- Oracle 等待事件 SQL*Net message from dblink 官方解释,作用,如何使用及优化方法
- .net安装 Linux 上的 ASP.NET 环境(linux安装asp)
- ASP.NET 大文件下载的实现思路及代码
- ASP技术与MySQL数据库实现无缝结合(asp可以和mysql)
- ASP调用Oracle数据庫,实现完美编程体验(asp访问oracle)
- ASP.NET技巧:请求网址并解析返回的html
- 添加新的.Net的影射
- VB.net常用字符和日期等函数
- 用ASP.NET做的个性化的邮件发送系统
- ASP.NET表单验证方法详解
- ASP.NET内置对象之Application对象
- asp.net从客户端中检测到有潜在危险的Request.Form值错误解
- asp.net导出到CSV文件乱码的问题
- ASP.NET编程时遇到GridView的一个问题激发了未处理的事件"PageIndexChanging"
- ASP.NET缓存的方法和最佳实践
- asp.net(C#)开源资源大汇总
- 答你所问.NET小常识方便学习asp.net的朋友
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- 基于ASP.NET的lucene.net全文搜索实现步骤
- .Net中导出数据到Excel(asp.net和winform程序中)
- ASP.Net页尾中添加JavaScript的最佳方法实战分享
- 浅谈.NET中加密和解密的实现方法分享
- asp.net使用jquery模板引擎jtemplates呈现表格
- asp.net不同页面间数据传递的多种方法
- .net非托管资源的回收方法
- ASP.NET批量下载文件的方法
- iis6网站属性没有asp.net选项卡的解决办法