后台与前台的桥梁

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:dlll9393
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  前奏:GridView,Web开发者的福音!
  在以往的Web开发中,把数据从数据库中读取出来,然后在网页中显示,往往要写大量的代码,并且要处理很多复杂逻辑,比如分页显示等。然而这一切在ASP.NET中得到了改善,主要是ASP.NET把很多的业务逻辑封装为一个控件,也就是把很多活都揽在了一起,只要从工具箱中拖拽一些控件,就能实现分页显示等复杂工作。
  
  服务器控件技术原理
  服务器控件的开发比较复杂,但是作为初学者不必了解它们过多的原理,只要知道它从数据库中提取数据,并渲染成一段HTML代码即可。
  ◎本文主角:GridView,联结后台和前台的桥梁
  易用度:★★★★★
  实用度:★★★★★
  总结:废话不多说,看看两个五星就知道了。
  GridView(网格视图)控件是ASP.NET 2.0中最为常用、十分强大而且简单易用的控件,它拥有分页、添加、更改、删除数据功能,而且只要单击几次鼠标就可以完成。而今天笔者还要介绍一点儿较为高级的实例,使GridView更能让我们容易使用!
  
  实例1:小李学会了比PHP简单的分页效果
  下段可以学到:不写代码,实现分页和排序
  
  小李刚刚从一名PHPer(PHP爱好者)过渡到ASP.NETer(ASP.NET爱好者),感觉在PHP中实现列表分页效果要写大量代码,这件事特别不爽。循环判定起始页的时候,经常容易搞错。而现在就不必担心了,只要设置几个属性即可搞定分页,还能实现排序功能(见图1)!
  ◎MSDN官方网站的分页
  


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


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


  最后一步时,单击“测试查询”按钮,可以看到查询结果。
  
  ☆第3步:从工具箱中拖拽GridView控件,在“选择数据源”中单击“SqlDataSource1”,然后勾选“启用分页”、“启用排序”复选框即可。
  实例2:baby无齿
  也学会了“变色”
  下段可以学到:轻松制作行的背景变色效果
  
  作为一名CFan论坛的老用户,baby无齿最近发现,合并后的CFan论坛有了新功能:当鼠标移动到论坛某个位置上,即可出现背景颜色改变的效果,不知道自己的ASP.NET GridView能否实现呢?
  答案是当然可以!不过这回就需要编写几行代码了。步骤如下:
  第一步:接着上一个实例,如果想要让GridView实现行背景颜色改变效果,那就需要编写RowDataBound事件处理程序。
  
  简单说,是一种消息传递方式,例如单击按钮就是一个事件,一个事件触发后,应当编写相应的事件处理程序进行处理。
  
  单击GridView控件,然后打开“属性”面板,单击该面板的闪电按钮,切换到“事件”选项,双击“RowDataBound”旁边的空格,就会立即切换到后置代码文件中。
  
  代码内容:在小编博客:http://powerson.blog.cfan.com.cn“杂志补充”栏目下本期《天生我才——ASP.NET》代码1。
  
  代码解读:用一个循环来检查所有的行,并且在为数据行(而非表头)处理时进行着色。通过赋予每一行Onmouseover(当鼠标经过时触发的事件)和Onmouseout(当鼠标离开时触发的事件)的处理机制,实现变色效果。
  
  值得一提的是,用一个变量b记录原来的颜色,然后鼠标经过时变为黄色,离开时再把背景色设为b,这样就又恢复了原来的颜色,效果如图4。
  
  


  实例3:启用删除,并添加删除确认对话框
  下段可以学到:添加论坛删帖前的“确认”按钮
  牛牛是CFan论坛的水区版主,天天要负责删帖工作,如果不小心把某个帖子误删了,就会让人家不满意了。要是能在删除的时候,有个删除确认对话框不就更好了吗?其实非常容易,只需两步即可搞定。
  第一步:继续实例2的操作,单击智能标记“GridView Tasks”(GridView任务)里面的“编辑列”命令,单击左侧“CommandField”(命令列)下面的“删除”(见图5),再单击“添加”按钮,单击“将此字段转换为TemplateField(模板列)”最后单击“确定”按钮。
  
  


  第二步:切换到“源”视图,对那个模板列代码更改如下:
  
  代码内容:在小编博客:http://powerson.blog.cfan.com.cn“杂志补充”栏目下本期《天生我才——ASP.NET》代码2。
  
  ◇代码解读:核心的是OnClientClick="return confirm('确定删除吗?')"这句话,意思就是单击“删除”链接后,出现一个确认对话框,如果单击“确定”,此操作继续进行,否则就不再进行。注意双引号里面是单引号,否则容易出错。
  


  一个ASP.NET模板是由HTML元素和ASP.NET控件组成的混合体。模板具有不同的样式。样式主要指颜色、字体、边框样式、单元格边距及其他。模板,在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轻松几下就搞定,其易用性可见一斑。“世上本没有路,走的人多了,也便成了路”,这个走着捷径的控件,为ASP.NET增光不少。所以,小编再送它一句:“GridView,不走寻常路”。
其他文献
现在网上的资源越来越丰富,但是网页文章直接复制过来会带有很多格式,给二次排版利用造成不便。试试“WPS文字”吧,它的特色文字处理功能可以让这些文字乖乖听话,随心调遣!打开“WPS文字”,进入“工具→文字工具”(见图1),宝藏多多!    (1)    段首“空两格”问题    图2的文档段首有空格,段间有空行,选择文字范围,进入“工具→文字工具→智能格式整理”菜单项,多余字符和空行就被删除了(见图
期刊
摘要:目的: 探讨呼吸机集束化护理干预对呼吸机相关性肺炎的预防效果。方法:将我院重症监护室(ICU)接受机械通气治疗的126例患者随机分为两组,每组63例,其中对照组患者仅给予常规护理干预,观察组采取呼吸机集束化护理干预,比较两组患者的呼吸机相关性肺炎的发生率。结果:观察组VAP发生率为9.52%,对照组为39.68%,观察组明显低于对照组,两组比较差异显著(P<0.01),观察组机械通气时间为(
期刊
电脑没声是件让人非常郁闷的事,最近的集成声卡还总出现这个问题,下面这些就是很多人遇到的大问题。    故障现象一:前后面板都没有声音    故障分析:右击“我的电脑”,选择“属性”,在弹出窗口点击“硬件”标签下的“设备管理器”按钮,这时你会看到在“视频和游戏控制器”的“SoundMAX integrated digital audio”或“RealTek High Definition Audio
期刊
在校园网内如何方便地访问互联网?申请ADSL宽带当然能够解决问题,但这样一来带来了新问题:一个寝室8台电脑,如何同时既能访问校园网又能访问互联网呢?按常理是给每台电脑都装双网卡,并且给每台电脑都申办个ADSL宽带和教育网账号,但这样共需要16个网卡、8个ADSL宽带和教育网账号,对学生来说实在太浪费。其实我们可以用台电脑作为服务器,并通过路由器系统软件将服务器打造成一台免费软路由,这样只需要11个
期刊
卓越亚马逊索尼专卖店重装登场  直供特惠精选产品 打造大牌视听盛宴    无论是追求时尚新鲜口味,还是相信经典经久不衰,都不应错过卓越亚马逊近期隆重推出的索尼专卖店,这里集合了二百余种索尼独家特供的各类视听产品,并于开张期间举行特供优惠活动。    在这次促销活动中,首推两款数码视听特惠系列机型,即NW-A805的MP4系列产品以及NW-E015的2GB容量MP3,两个产品的卓越价格不仅大幅低于目
期刊
用过Office的朋友都知道,在启动Office组件之后,微软拼音输入法总是会自作主张的跳出来,导致很多使用其他输入法的用户不得不手动切换到自己使用的输入法。那么,能不能在不卸载的情况下,关掉微软拼音输入法,让它不在自作主张呢?答案是肯定的。  Office 2003下关闭方法:启动Word 2003,单击菜单栏“工具→选项”,在“选项”对话框中选择“编辑”标签,去除“输入法控制处于活动状态”的勾
期刊
摘要:目的:通过观察分析肝素抗凝血浆在急诊生化检验中的应用效果,探讨其临床急诊生化检验可行性。方法:选取我院2013年4月至2014年4月期间接收进行肝素抗凝血浆急性生化检验的80例患者作为观察研究对象,分别抽取80例患者的血清和肝素抗凝血浆进行10项急诊生化检验测定,观察评定血清与肝素抗凝血浆中镁、尿素氮、氯、钙、肌酐、丙氨酸氨基转移酶等物质的检测结果。结果:检验结果显示血清与肝素抗凝血浆中镁、
期刊
摘要:目的:对比PFNA及PFNAⅡ对治疗股骨转子间骨折的临床疗效。方法:选取2013年5月~2014年5月由我院骨科收治的60例股骨转子间骨折的患者为研究对象,按照治疗的方法不同分为PFNA组和PFNAⅡ组,每组30人。分别对两组的患者实施PFNA治疗和PFNAⅡ治疗;观察并记录两组患者的手术时长、术中出血量、骨折愈合时间、术后大腿疼痛情况以及随访后的髋关节Harris评分。结果:PFNAⅡ组患
期刊
4999元以内,2005年之前,这个价格想买台笔记本电脑实在有些不可思议。而今,这个价格却正在成为笔记本的主流销售价格……    购买需求有变化    在2007年度的《电脑爱好者笔记本购买需求分析调查》中,“购买价格与理想价格”内多数受访读者希望笔记本电脑的市场价格在4000~8000元之间。而“购买价格”一项中,众多网友对低价笔记本电脑的看法,认为低价笔记本电脑“性价比高,值得购买”的和认为“
期刊
摘要:目的:探讨动态心电图和常规心电图在冠心病心律失常中的临床诊断效果及其诊断价值。方法:对来我院诊治的160例患者入院资料进行分析,将其随机分为两组。对照组采用常规心电图诊断,实验组采用动态心电图诊断,比较两组诊断效果。结果:实验组50例阳性,阳性率为62.5%,高于对照组(42例阳性,阳性率为52.5%)(P<0.05);实验组30例阴性,低于对照组(38例阴性)(P0.05);实验组40例室
期刊