4条回答 默认 最新
- bakalr 2017-07-05 04:48关注
因为看不到调用的层级方法,所以具体是怎么方法是怎么调实现的看不到,不过也是很基本的三层框架
第一张图打开的是UI层的一个页面首先PageLoad是一个初始页方法,用于在打开页面时实现一些里面的代码功能
ispostback用于判断用户是第一次打开还是点击了提交按钮,这2种操作都会进行post提交,所以这里用
this.ispostback==false
来确保{}里的代码是第一次打开页面需要执行的代码,关于ispostback的说明网上非常详尽
其实可以写成if(!ispostback){}简略些
{}里面的viewstate相当于在本页面存储一个变量,viewstate是ASP.NET服务器控件的一个隐藏属性,可以保存
指定id的变量值,作用范围在当前页面,viewstate本身没有类型,他可以保存string,int,bool,array和一些其他类
型的值,有点类似于form程序的全局变量(但并不是,可以这么理解)
题外话:ASP.NET里面用的比较多的状态记录一个是session一个是viewstate,其他的还有cookie等,session工作在服务器端,所以大量
的session会耗用服务器资源,viewstate是存入页面控件不挤占服务器资源,但是会挤占带宽,另外,session生命周期
可以扩大至整个会话,而viewstate
注意,viewstate使用要谨慎,他的值会以base64编码的形式出现在前端源码中,并不是很安全,所以在使用时要
小心一点
另外,MVC架构下是没有viewstate的,这点请注意,MVC有其他解决办法,例如js。
gv.attributes.add以及gvdatabind很简单了,一个是后台增加控件属性和值,一个是调用方法绑定数据。
requset是一个httprequset类的实例。用于读取web请求旗舰的http值,querystring是用的最多的属性,用于获取id值gvdatebind(){}
这里面基本都是实现数据绑定和分页的一些内容,比较简单,
大致上就是调用业务逻辑层获取数据库的指定数据结果集,转为dataset(datatable)
然后使用DataSource=dt.defaultview;Databind();绑定到GridView上去
一步一步跟踪看看就明白了
注意分页也是依赖于viewstate实现的,viewstate可以实现值的更新
dataset是一个表集合,它可以包含多个datatable,通过例如ds.tables[索引/"datatable名"]的方式访问。第二张图
清空表单那个就不说了,很简单
page.registerstartupscript用于向page发送客户端脚本块,它有两个参数,一个string key和一个string script,前者
用于标示脚本唯一键,后者为内容,具体的内容自行百度即可,也很简单
rowdeleting事件是GridView控件中的时间,在准备删除时会判断是否获取了datakeys,datakeys是你设置的这个
gridview的主键,也是用于操作的唯一键值,接下来就是根据这个键值来进行相应的操作了
比如更新删除等(业务逻辑层的事,ui层只是调用了方法)rowdatabound事件中可以指定对GridView的某种类型的数据行进行操作,这里看不到代码
涉及的基本思想基本就是这些,其实只是一个有比较实际作用的三层架构的使用,还是比较简单的,分页的功能可以多看看理解下
分页有很多种实现思路,也是一个比较重要的痛点。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!