关于WebForms以及一些ASP.NET开发上的经验(2)
行改造的做法不算),但是优秀的样式开发人员大 都是坚定的Web标准支持或推广者,ASP.NET对于标准支持不佳,难以控制样式的说法满天飞扬。
我想为WebForms喊冤。不过首先我会打倒以GridView为首的复杂控件(包扩DataList、FormView等等 )并狠狠踩上几脚。有人说,当抛弃了GridView之后,用WebForms还有什么意义?其实类似的话也不断在 我说要抛弃ViewState和(复杂)的PostBack时出现。如果您觉得抛弃了这些东西WebForms就失去意义的 话,那么我想说,ViewState、PostBack、GridView远不是WebForms的全部。我认为,Control模型(或者 说组件化模型)才是WebForms的关键。而这个模型的“基础”是绝对优秀的。下面我会进行一些展示,虽 然这些展示我觉得是基础中的基础。 首先我们先来看一下最常用的用户控件的表现吧(DemoControl.ascx):
然后将它放在页面里:
在浏览器里打开页面会发现如下的代码:
多干净的代码,我甚至连多余的空格都没有去除。还有一个例子就是Master Page, <asp:ContentPlaceHolder />也不会产生任何多余的代码。这说明了使用用户控件搭出的WebForms 页面,是不会出现多余的“脏”代码的。如果您在观察那些基础控件,TextBox,CheckBox(不设Text属 性),Panel等等,亦或是加上runat=server的HTML元素,无一例外(当然客户端ID的确还是比较长,关 于这个问题我会在以后的文章进行讨论)。 那么肮脏的Tag是哪里来的呢?当然是以GridView为首的复杂控件。那么如果我们要生成批量数据,又 该怎么办呢?现在来看看Repeater的表现吧,就以最常见的无序列表为例:
还是在浏览器里察看HTML(我这里就不贴出来了),一行多余的代码也没有。 Repeater是ASP.NET 2.0中我最喜欢用的控件,它的功能很简单,把ItemTemplate和 AlternatingItemTemplate的内容返回生成在页面上,并且将HeaderTemplate和FooterTemplate的内容显 示在头尾。除此之外——没了。但是这已经足够了,对于绑定控件来说,还需要什么呢?这里面每一行代 码都由我们自己编写,想定义样式也易如反掌,我们对于HTML的控制没有任何损失。 另外,有些开发人员总认为ASP.NET中的DataTable绑定的方式让我们无法写出建模良好的代码。就算 使用ObjectDataSource,在控制上也会有诸多不便。但这个也是一种误解,我们完全可以将领域模型中的 对象绑定到视图里的控件上。首先是ASPX的内容:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |