首页 > 范文大全 > 正文

后台与前台的桥梁

开篇:润墨网以专业的文秘视角,为您筛选了一篇后台与前台的桥梁范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

前奏:GridView,Web开发者的福音!

在以往的Web开发中,把数据从数据库中读取出来,然后在网页中显示,往往要写大量的代码,并且要处理很多复杂逻辑,比如分页显示等。然而这一切在中得到了改善,主要是把很多的业务逻辑封装为一个控件,也就是把很多活都揽在了一起,只要从工具箱中拖拽一些控件,就能实现分页显示等复杂工作。

服务器控件技术原理

服务器控件的开发比较复杂,但是作为初学者不必了解它们过多的原理,只要知道它从数据库中提取数据,并渲染成一段HTML代码即可。

本文主角:GridView,联结后台前台桥梁

易用度:

实用度:

总结:废话不多说,看看两个五星就知道了。

GridView(网格视图)控件是 2.0中最为常用、十分强大而且简单易用的控件,它拥有分页、添加、更改、删除数据功能,而且只要单击几次鼠标就可以完成。而今天笔者还要介绍一点儿较为高级的实例,使GridView更能让我们容易使用!

实例1:小李学会了比PHP简单的分页效果

下段可以学到:不写代码,实现分页和排序

小李刚刚从一名PHPer(PHP爱好者)过渡到er(爱好者),感觉在PHP中实现列表分页效果要写大量代码,这件事特别不爽。循环判定起始页的时候,经常容易搞错。而现在就不必担心了,只要设置几个属性即可搞定分页,还能实现排序功能(见图1)!

MSDN官方网站的分页

第1步:从Visual Studio工具箱中拖拽SqlDataSource(数据源)控件,单击该控件右上角智能标记的“配置数据源”命令,在“选择数据源”对话框中选择“Microsoft SQL Server”,然后按照图2所示进行设置,单击“确定”后返回向导,再单击“下一步”按钮。

第2步:在配置“Select语句”(选择语句)这一步,单击“*”复选框,再单击“下一步”(见图3)。再单击“完成”即可。

最后一步时,单击“测试查询”按钮,可以看到查询结果。

第3步:从工具箱中拖拽GridView控件,在“选择数据源”中单击“SqlDataSource1”,然后勾选“启用分页”、“启用排序”复选框即可。

实例2:baby无齿

也学会了“变色”

下段可以学到:轻松制作行的背景变色效果

作为一名CFan论坛的老用户,baby无齿最近发现,合并后的CFan论坛有了新功能:当鼠标移动到论坛某个位置上,即可出现背景颜色改变的效果,不知道自己的 GridView能否实现呢?

答案是当然可以!不过这回就需要编写几行代码了。步骤如下:

第一步:接着上一个实例,如果想要让GridView实现行背景颜色改变效果,那就需要编写RowDataBound事件处理程序。

简单说,是一种消息传递方式,例如单击按钮就是一个事件,一个事件触发后,应当编写相应的事件处理程序进行处理。

单击GridView控件,然后打开“属性”面板,单击该面板的闪电按钮,切换到“事件”选项,双击“RowDataBound”旁边的空格,就会立即切换到后置代码文件中。

代码内容:在小编博客:.cn“杂志补充”栏目下本期《天生我才――》代码1。

代码解读:用一个循环来检查所有的行,并且在为数据行(而非表头)处理时进行着色。通过赋予每一行Onmouseover(当鼠标经过时触发的事件)和Onmouseout(当鼠标离开时触发的事件)的处理机制,实现变色效果。

值得一提的是,用一个变量b记录原来的颜色,然后鼠标经过时变为黄色,离开时再把背景色设为b,这样就又恢复了原来的颜色,效果如图4。

实例3:启用删除,并添加删除确认对话框

下段可以学到:添加论坛删帖前的“确认”按钮

牛牛是CFan论坛的水区版主,天天要负责删帖工作,如果不小心把某个帖子误删了,就会让人家不满意了。要是能在删除的时候,有个删除确认对话框不就更好了吗?其实非常容易,只需两步即可搞定。

第一步:继续实例2的操作,单击智能标记“GridView Tasks”(GridView任务)里面的“编辑列”命令,单击左侧“CommandField”(命令列)下面的“删除”(见图5),再单击“添加”按钮,单击“将此字段转换为TemplateField(模板列)”最后单击“确定”按钮。

第二步:切换到“源”视图,对那个模板列代码更改如下:

代码内容:在小编博客:.cn“杂志补充”栏目下本期《天生我才――》代码2。

代码解读:核心的是OnClientClick="return confirm('确定删除吗?')"这句话,意思就是单击“删除”链接后,出现一个确认对话框,如果单击“确定”,此操作继续进行,否则就不再进行。注意双引号里面是单引号,否则容易出错。

一个模板是由HTML元素和控件组成的混合体。模板具有不同的样式。样式主要指颜色、字体、边框样式、单元格边距及其他。模板,在GridView中,是指被格式化后的单元格,所以被称为“模板列”。模板是大概念,模板列是小概念最后效果如图6所示。

开发高手经验谈

1.RowDataBound事件的使用―极为重要的事件。

当GridView生成的时候,GridView控件会一行一行绑定数据。此时如果某些数据需要修改,或者隐藏,就可以在此事件的处理程序中进行操作,比如隐藏某一列的显示,可以用这条语句:“e.Row.Cells[0].Visible = false;”(不含引号)。

另外,如果从数据库中读取的职称是英文的,而前台需要的是中文,则需根据前台的某个控件的属性(或某个数据的值)来判断。此时应当把需要提取控件属性的那一列,转换为模板列。然后用e.Row.FindControl()方法提取。

2.在删除操作的时候,需要特别注意的是,一定要添加GridView中的RowDeleting事件处理函数。即便函数中什么都不写,也要加上,否则运行时会出错。

3.在进行编辑、更新和删除操作时,很多情况下需要根据某个数据进行操作。比如提取删除的关键字,然后回传到数据库存储过程中,决定删除的项目。

但是删除操作的事件处理参数中,没有那么多的参数可用。此时可以在RowDataBound事件中,赋予那个控件参数(一般是LinkButton控件的CommandArgument属性),然后再在RowCommand事件中提取它即可。

4.GridView模板列绑定数据的方式:Eval和Binder,前者只是读取数据,后者是既可以读取,也可以写入。

5.对于GridView控件来说,最终会以表格(HTML中的Table元素)呈现。如果一定要用Div格式来进一步提高网页访问速度,则建议采用Repeater控件。

小编点评

堆积冗长代码才能完成的任务,被GridView轻松几下就搞定,其易用性可见一斑。“世上本没有路,走的人多了,也便成了路”,这个走着捷径的控件,为增光不少。所以,小编再送它一句:“GridView,不走寻常路”。