« 上一篇下一篇 »

服务器端控件转换的问题

将现有的html控件转换为服务器端的控件是比较容易的,但是这种方法存在几个问题。首先,我们仍然不得不接受一些html控件的非常不直观的固有特征。例如,有没有input标记用于单行文本项?有没有一个textarea标记用于多文本项?指定的行和列的单个控件真的更有意义吗?其次,如何才能简便的编写可向诸如IE这样的浏览器传送丰富内容的站点,而同时又能保留对低级别浏览器的兼容性呢?根据浏览器html是无法改变其内容的,而要达到这个目的我们必须编写代码。再次,如何编写能够应付除浏览器之外的其他设备的站点?如像wap手机、PDA甚至电冰箱这样的设备都有浏览器。像这样浏览器的问题我们必须为其手工编写代码。

为了解决这些问题,我们通过asp.net服务器控件来处理,它们都用asp:前缀标识。asp.net服务器控件提供了一个一致命名的标准。例如,所有文字项字段都由textbox控件处理。对于不同的模式我们只需要指定相应的属性即可。另外,还提供了一个一致的事件模型。传统的页面通常有大量用于处理数据位置的代码,特别是当一个页面提供多行命令的时候。而利用asp.net,我们可以为事件过程安装控件,从而给予服务器代码更多的结构。

在发送纯html或者html加客户端JavaScript,对于一个局部的异常,服务器控件在默认状态下发送Html3.2,这样可产生很好的跨浏览器兼容性。不过我们可以对其修改,从而在默认状态下指向IE这样的高级浏览器,这样控件就会发送html4和Dhtml,为用户提供了更丰富的界面,所有用户所能看到的只有html内容,而不是服务器控件了。

« 上一篇下一篇 »