相关网盘免费资源下载...
1.
a.mode层->实体层(表格的一行)
然后,服务/mssqlserver-->开启
工程文件夹名称不能与项目名称重名//三层架构的命名规范
b.存储过程使用ExecuteScalar不能正确返回新的所受影响的行数-->使用异常来判断
c.客户端JS和服务端ASP对界面控件的内容/属性访问的方式不同 //服务端对页面控件的访问与C#类似
d.谁调用子过程,谁就捕获子过程中throw出的异常
e. 三层架构中,本层的功能可以从其的上一层用需要使用的功能来考虑 //三层架构的设计思路
f. 业务逻辑层--->决定对错; 界面/表示层 -->来控制层的展示
g. ASP.NET在服务端产生HTML+CSS+JS然后就回传到客户端
h. 第一次:没有页面信息传到服务器 //相当于ispostback=false
非第一次:就有页面信息传到服务器
i. 服务器代码执行-->对应pageload会执行
j. websit 和webAppliction 机制基本相同
k. 控件最好放入层,用层进行管理
l. ASP网站内容:客户端ASP生成的响应网页(html)+ashx(处理程序//在服务器端)
2. 按钮:button(html控件)不能提交, submitbutton(服务器端控件可以提交)
3. 控件是否可以提交-->只是说明该控件是否可以触发页面提交,发出request、但是并不要求一定有参数传入到服务器
控件的参数的提交,如果是服务器控件默认或者带有submit功能的控件就可以保存参数和提交给服务器参数,但是有的html控件不具有提交参数功能,就要使用viewstate来间接提交参数(当然也可以使用 http//...?键值对 --->来传输参数,但是这样保密性比较差)
4. html --->依赖于表单 aspx--->默认有表单,发送request请求也依赖于表单
5.
6. 写html文本格式规则
context.write(@“...'字符串中的字符串'...."+@"...")
7.
a. 如果直接访问aspx,而不是通过网页request来访问,第一次没有context,所以对于aspx处理过程来说就是第一次,
b. 通过地址直接访问aspx,则request中的内容就为空
9. 元素不加 runat=server // 就不提交到服务器,不会主动生成viewstate,也不生成hiddenfield
10. http 不会记住上次的页面内容(无状态),所以要使用表单(表单元素就会记住上次的表单元素的value)--->反应在url中,本地客户浏览器中,
所以非表单元素要使用viewstate来绑定数据
11. runat=server-->服务器控件有此标志,则只能运行在服务器中,反之控件只能运行在html中
12. page load--->页面每次刷新都是页面类创建一个新的对象//pageload可以看做是页面的构造函数
13. 页面刷新原理:
a. 每次用页面类创建一耳光新的页面对象,所以每个页面的初始值都是一样的(类内的属性)
b.但是刷新后,会用上一次的ViewState来刷新新的页面 //ViewState原理上保存在本地的浏览器缓存中(或者可以理解为页面类的全局属性,
生存期为:页面打开的期间)
c.表单元素不使用viewstate--->对表单元素无效,非表单才使用viewstate
14. cookie&session
a. cookie 主要在本地中使用,
b. context.response =this.response //context与this(cookie) 相等
c. ashx +html--->封装为aspx
d. viewstate-->页面级(页面关闭就消失)
cookie-->本地级
session -->站点级
e. 控件的属性 autopostback -->开启就具有submit功能
15. ashx-->可以处理多种文件类型 (htm,image,xml...)
16. ashx 返回一个上下文context,其中有返回的各种流(可以视为返回值),可以使用context.response.outstream来返回给页面
17.
a. aspx可以调用ashx处理程序
b. aspx相当于一个页面模板
c. html控件要想服务器识别,就要加入runat属性
d. html中js写的事件,如果不提交的话就不会被服务器处理
e. aspx中可以加入js和html ,前置的C#...,且onclientclick(直接写js) //所以首先要把aspx当做html来使用
f. 如果不能直接提交表单,可以使用get方式给ashx或者aspx用键值对的方式提交元素的value,eg:
...ashx? id=12&value=..
18. 页面中可以保存数据的节点:
viewstate ,cookie, session ,表单元素
19.
a. cookie,session,都是页面元素,可以使用this.cookie ,this.session来调用
b. hshx中不能直接使用session,要引入requir.session名空间
c. html控件加 runat=server属性-->就可以像服务器控件一样被直接使用ID进行操作,否则就得如js中使用一样(getElementByID来得到)
d. pageload是在服务器中执行的,有服务器生成一个新的页面实例(pageload相当于页面初始化)
e. 一般需要服务器处理相应的控件都是submit,eg:
<input type="submit" value="button" id="button1" > //此ID是给服务器事件响应来识别的
f. 如果不加submit则如控件的onclick-->就是有本页的js客户端处理的(html中,如果是aspx中则客户端控件响应事件是onclientclick)
g. aspx的页面C# onclick-->默认就是有服务器处理的 -->转化为html后会转化为submit
h. 无sumbit功能的控件元素,如果想submit,则应在onclick事件中引发表单提交事件
i. aspx服务器控件的C#事件,不会显式显示在html格式的元素onclick中,会有页面内部的机制在submit时,将页面的触发事件的sender交由服务器处理来调用相应的handle来处理
j. 非提交型的,如果也想让服务器来处理,则也应在本地事件中触发 form.submit--->来引发表单的提交
20. httpwatch工具
21. 服务器控件可以引发:服务器响应,客户端响应(属性clientclick,验证是否客户端有响应只需看html源码中是否有onclick)
22. aspx中 this.response.write(....)//写入当前对应页面的头部
23. js代码可以写在html任何位置,主要看执行顺序的需要
24. 服务器控件先执行clientclick-->成功后才执行服务器的响应onclick
25. request提交的除了表单外,还有对应的页面的一些信息,eg:validateRequest...
26.服务器元素控件(如超链接控件) 隐藏后客户端不可见,但是客户端html一些隐藏的元素,在html源码内是可见的
27. ashx中response.write ...写入到整个页面 ; aspx中request.write将写入的内容插入当前页面的顶部
28. cookie, html ,session -->可以异步response到客户端(不用同时response)
29. 网站发布后应用程序根目录和websit根目录抑制,但是不发布则不一致
30. 当前路径-->当前打开网页的路径
绝对路径就是程序路径
31. request/response -->可以看做是静态对象
32. aspx中response.write(..) 写入到request网页的上面,插入html
33. 物理路径就是硬盘路径 ;虚拟路径是以当前程序路径而言的,
34. 谁来请求-->request.urlRelferer
urlRefence--->访问链接的上一个url
35. ~(虚拟根目录) -->用于服务器控件
36. 所有对象都可以使用流,一般文本,html不用留(因为文本都是编码的,单个字节有意义,所以不用流) 但是图,视频,单个字节无意义所以要用流;
文本型的一般使用write
37. MapPath(在main.aspx代码中) ../../index.aspx -->以当前的MapPath所在当前代码页面的位置为基准路径(main.aspx的路径)
38. 服务器html中只有存在form才能将数据(元素)提交
39.
a.静态页面只有一个
b.aspx动态页面可以生成多个实例(aspx也叫页面模板)
40. 文本request交由aspx处理 <------文本,多媒体------>多媒体request交由ashx来处理
html页面
41. aspx-->就是page
42. reflector 可以反编译dll
43. 页面有aspx类的子类生成(不是aspx模板自身的类)
44.
a. label , literatral(如果不设置的话)中的text放入js脚本则会执行
b. 但是literatral中则不会执行(如果设置为只显示字面意义的话)
45.
c. 前置技术<%c#代码 %> // 前置技术可以将c#代码嵌入aspx中,<% %>中显示变量或者方法结果的字符
d. 所以在aspx中可以同时嵌入JS,C#,CSS
e.面前前置技术可以直接使用aspx.cs中的内容(包括方法,页面属性)
46. aspx中可以使用前置技术
47. request,response都是分步式的,-->页面先对各个部分的内容cache,然后再整体显示出来
48. 页面中,动态内容尤其是image用ashx
49. asp的数据控件原理:
dataList --->数据显示控件
sqlDataSource--->数据源控件(将sql查询的结果。eg:虚拟表table进行储存,类似于dataset)--->然后显示在dataList中
50. this.fileUpload.postedFile.SaveAs()// postedFile就是上传的各种文件
51. 各个功能共用的时,eg:一个dataList组合控件中内含有imageinButton时,imagineButton应绑定commandArgument--->来对一个list中的各个控件以示区别
52. jQuery可以向前兼容
53. sql中同时对多个表进行操作时,可以使用事物(尤其是可能有风险的操作,可以利用回滚机制)进行操作
54. 对数据库操作的错误几率很高,所有要使用异常处理
55.
如果要在页面写入新的内容(尤其是html)则要使用this.response.write来响应
如果只是更新页面元素,只要让 服务器控件.属性=...即可,eg: this.img=img.ashx
56. aspx 中好像将response 封装了 ,如果使用 控件.属性=" " aspx可能会在下一步将其转换为response;
每次页面的response都要重绘页面(可能有cache的部分就不用重绘)
57. repter
a. aspx中" "和 ' ' 都可以,
b. repeater.dataSource
repeater.Binding ----->调用后与数据库进行重新连接,此时前台的数据(html)才能进行更新(所以要放在需要更新页面数据的事件中)
c. repeater.Item--> 是指模板的每一行:
普通项 , 交替行 , 表头, 表尾都是一行
58. 变量首字母小写; 方法首字母大写
59. repter控件处理有规律的页面(尤其是循环的)比较好,但是无规律的不太适合
60. C#中自动生成代码
a. 项目中要使用的功能类就直接上车Class就行
b. 数据库table中的外键-->要生成对象(因为外键可能引用别的表的对象,别的表也是一个类)
61.验证控件
a. isValidate是针对同一页面中的所有验证控件-->所以要是在同一页面中有相互不相关联的验证-->要进行分组
62. 去掉IE的javascript: 禁用java控件 、禁用活动控件
63. 客户端(html),可以识别aspx控件(由framework 转化为html相应的控件)和html控件;但服务器只用识别aspx控件
64. 自定义验证:服务器和客户端验证方法的签名应一致
客户端验证: funtion validate(scr ,args) {
arg.values //封装传入的值 }
65. form(表单)中的元素一般都用value取值
66. 母版页
a. 母板页不能直接运行
b. html中所有的元素内容-->都用div去规划
c. ~/imge...只有服务器识别
d. ../imge... html 的根目录,html可以识别
67. 内容页调用母板页的原理:
先执行内容页的pageLoad,然后执行母板页的pageLoad
68. Asp中许多数据绑定的控件都与手控reaptor很像,所以绑定展示的过程时:
a. 先使用数据控件自动绑定
b. 然后对各个行(item)根据自定义的需求进行修改
69. 数据控件的数据流程:
从数据库中读取数据-->将数据读到内存中--->ObjectDataSource(相当于dataTalbe)--->ListView
70. ListView数据绑定展示的内部机制:
1.ListView的各项item,尤其是DataItem 在ItemDataBound事件(每项绑定后发生的事件)时:是逐行进行的
2. ListView有三种Item: DataItem、emptyItem、InsertItem
相关网盘免费资源下载...