欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net开发与web标准的冲突问题】,下面是详细的分享!
asp.net开发与web标准的冲突问题
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开发,这是根基!
前几天看了下oXite,顺便装上了asp.net MVC Beat,我也不是.net的铁杆粉丝,但是也就没有留意,今天抽空新建了一个MvcApplication示例项目大致地了解了一下,看到了我所希望看到的几个亮点:
代码生成的非常干净,这点很重要。
不使用现有的将交互返回服务器的postback模型,也就是说在基于MVC的视图内没有viewstate或page的生命周期之说。
它包括一个非常强大的URL映射组件,允许你使用非常干净的URL来建造应用。
以上所分享的是关于asp.net开发与web标准的冲突问题,下面是编辑为你推荐的有价值的用户互动:
相关问题:ASP.NET WEB开发的几种应用程序之间的区别?
答:WEB窗体应用程序相当于winform开发,它是一个窗体(类似游戏窗口一般),而web是网站。 剩下的三个主要的区别是网站的架构不同,架构导致了应用的技术不同,现在MVC也是比较靠前的技术 >>详细
相关问题:asp.net在web上运行的问题
答:这时由于你的根目录下存在有另外的web.config,所以在子文件夹中的web.config不能注册 。。删除这个节点即可 另外 如果你在这个web.config中配置有其他应用程序级的节点 也需要一并删除 或者转移到根目录的web.config中。。。还有的做法就是 直... >>详细
相关问题:vs2013 asp.net 无法连接到已配置的开发web服务器
答:首先你必须选中网站或者web应用程序的项目,不能是类库或者其他,然后右键属性或者菜单—xxx属性(xxx为项目名称),在web那一栏里:使用VISUAL STUDIO 开发服务器为使用asp.net development server调试,使用iis WEB服务器是在IIS中调试,使用自定... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
