ASP.NET环境下全表格编辑控件的优化设计_邓涛.pdf
《ASP.NET环境下全表格编辑控件的优化设计_邓涛.pdf》由会员分享,可在线阅读,更多相关《ASP.NET环境下全表格编辑控件的优化设计_邓涛.pdf(3页珍藏版)》请在咨信网上搜索。
1、2023.7电脑编程技巧与维护1概述ASP.NET是由Microsoft创建的开放源代码Web框架,帮助使用.NET生成现代Web应用和服务1。其自带的GrieView控件用于在表中显示数据源的值,其中每列表示一个字段,每行表示一条记录。作为一个ASP.NET的原生控件,它自带的设计面板能为初学者提供方便的数据绑定功能。简单的拖动和设置可以轻松地编写简单的Web应用程序,很容易给初学者带来良好的学习体验,但也有其不足之处。(1)由于GrieView自带的样式老套、有限,其在前端的表现能力很难让用户满意。在前端UI已经很丰富、生动的当下,其前端难以简单套用成熟UI的样式。(2)单元格编辑过程中如
2、果要使用组合框等控件,则每行都要使用模板字段将组合框所定义的下拉绑定数据带入浏览器,如果表格行数和列表选取内容较多,则后端将向前端输出较多的重复数据,并且只能使用简单的数据库值(显示值)类型的下拉组合框。(3)每次只能编辑、提交一条数据,其选择和编辑按钮不能从表格中分离,需每行都带出,这样的编辑体验很难让用户满意。并且其只读模板与编辑模板分离,在后端的设计过程中,开发人员很难控制前端的样式。(4)对于非SqlDataSource或ObjectlDataSource数据源(或未定义增、删、改方法的SqlDataSource或Ob-jectlDataSource数据源),不能根据表格列属性自动生成
3、增、删、改的SQL语句,不能实现数据的自动保存。2优化方案设计方案针对以上不足,秉承GrieView原生控件自动生成列、自动进行数据保存的优势,以EasyUI前端UI为例,全新设计EasyGrid服务器控件,设计思路如图1所示。(1)控件继承于CompositeDataBoundControl,之所于没有直接继承GrieView,是因为前端只需要输出表头字段信息,由EasyUI渲染,具体的数据由easyui-data-grid参数url以Ajax的方式从服务器获取。(2)核心字段Columns类型为DataControlFieldCol-lection,这是GrieView中Columns的原
4、生类型,之所于选择它,一方面可以大幅减少代码量;另一方面可以与GrieView中Columns的列匹配,方便原有表格升级。(3)核心字段DataKeyNames用于记录数据表的主键信息,自动保存数据时能根据主键信息执行this.Get-Data().Insert()、this.GetData().Delete()、this.GetData().Update()方法。(4)核心字段Parameters的类型为ParameterCollec-tion,配合DataKeyNames属性,自定义可更新字段,用于动态生成增、删、改的SQL语句,实现灵活多变的自动数据存储。(5)核心设计器EasyGrid
5、Designer继承自DataBound-ControlDesigner,该设计器使用IDataSourceViewSchema2接口检查数据源的方法和属性。可以方便用户选择数据源、绑定SqlDataSource或ObjectlDataSource并自动生成列和Parameters参数。示例代码如下:private void AddKeysAndBoundFields(IData-SourceViewSchema schema)DataControlFieldCollection columns=(Easy-Grid)base.Component).Columns;columns.Clear(
6、);作者简介:邓涛(1971),男,高级实习指导教师,研究方向为ASP.NET桌面和网站开发。ASP.NET 环境下全表格编辑控件的优化设计邓涛(云南省玉溪工业财贸学校信息中心,云南 玉溪653103)摘要:对 ASP.NET 自带的控件 GrieView 进行了优化设计,通过简单的交互式操作和属性设置(或在前端编写 JS)就可以在 Web 应用程序中使用当下丰富、生动的前端用户界面(UI)样式来渲染表格,实现富组合框、全表格编辑。后端通过绑定 SqlDataSource 或 ObjectlDataSource 数据源控件实现自动生成列和自动进行数据存储。通过定义表格参数,还可以动态生成 SQ
7、L 语句,实现灵活多变的自动数据存储。关键词:ASP.NET 框架;Web 应用程序;富组合框;全表格编辑;自动数据存储图1设计思路自定义控件EasyGrid继承自CompositeDataBoundControl核心字段:Columns类型为DataControlFieldCollection核心字段:DataKeyNames核心字段:Parameters类型为ParameterCollection核心设计器:EasyGridDesigner继承自DataBoundControlDesigner核心方法:Render、ResolveAjaxCallBackMode、PerformReques
8、tData、PerformUpdateBulidSqIView95DOI:10.16184/prg.2023.07.0512023.7电脑编程技巧与维护if(schema!=null)IDataSourceFieldSchema fields=schema.GetFields();(6)核心方法Render用于输出表头字段信息,主要定义表头字段名称、显示名称和EasyUI的重要属性data-options。示例代码如下:protected o verride void Render(HtmlTextWriterwriter)TableHeaderCell cell=new TableHeade
9、rCell();cell.Text=field.HeaderText;cell.Attributes.Add(data-options,string.Format(field:0,field.DataField);row.Cells.Add(cell);(7)核心方法ResolveAjaxCallBackMode用于从A-jax参数中分析表格回调模式AjaxCallBackMode,首次加载时无参数,输出Render方法中定义的表头信息。参数EasyGridID用于判定是否由表格控件回调,参数oper确定回调模式、即查询(RequestData)、搜索(Search)或更新(Update)。(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP NET 环境 表格 编辑 控件 优化 设计 邓涛
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。