Asp.net乱乱的笔记自己看额
Asp.net 基础
0.C#中类的const属性默认是静态的即可以用类来调用与java中final是不一样的
1. 服务器控件 ObjectDatascourse 控件应用类查询数据
2. Repeater 控件即将数据源 中的数据放入 foreach()循环中;
Repeater 的itemDataBound事件就是每循环一次执行一次的事件
Repeater 的itemCommand事件参数commandname和commandargument
可以根据参数判断事件源和功能commandargument用来传递ID
Databind()方法 可以强制将刷新页面数据 #Eval("name")只负责单项书记绑定。。 #Bind("name") 能负责修改
*webFrom中 后台类中写的this是前台页面的类(即继承了后台类的类)
HttpHander 用来输出非文本的信息,像图片。。视频等。。。
Response.addHeader(,);添加报文头修改解析方式用于下载。。。
对于content-type类型的设置不知道偶啊类型的可以设置为application/otect-stream
下载文件的中文名字对IE浏览器要进行 urlEncode 处理。。Firefox不用。。下载的文件名是通过浏览器地址穿过来的。。
Master.FindControl() 来找母板页中的控件
数据库绑定控件。。。。ObjectDataSource 主要使用的数据源 。。相对容易的实现数据库切换
数据展示 listview (DataGrid,GrageView,Detialsview,Fromview)几乎替代了以前所有的控件
因为他们几乎都有缺点不宜选择。。。Listview继承了所有优点(listView相当于他们的合)
Repeater 也是用的比较多的数据展示控件。。。。因为Repeater是极轻量级的(只相当于foreach循环)。。ListView 稍微重量级。。。
1.ObjectDataSource:将类作为数据源。。。即将数据库的操作写成类在连接到上面;;;通常类用强类型DataSet (website中将强类型dataset文件放在app_code文件夹下不然有时候系统找不到,,不会自己提示)
2 isPostback 通过检测表单特定属性的值判断是否是提交表单还是 通过url跳转过来的
3. 每一个客户端的runat=“server ”控件都能在服务端用 findControl("id")来获得控件对象然后通过类型转换来进行操作
4. Sql Server 分页语句 :
select *from (select *,Row_Number() over(order by id)row_num from t_user)as t where t.row_num>0 and t.row_num<3 ObjectDataSource高效分页实现过程其默认分页为假分页
1.将获得数据的类添加两个方法 QueryCount()返回总条数的函数和GetPagedData(int StartRowIndex,int maximumrows);获得分页数据 参数最好不要改ObjectDataSource会自动注入参数并调用若用强类型DataSet 需要收工加上函数参数(系统不会自动生成参数bug)函数中sql语句为select * from(SELECT username, password, age, id,Row_number() over(order by id) rownum FROM dbo.users) as twhere t.rownum>@StartRowIndex and t.rownum<=@StartRowIndex+@maximumrows
2.配置施ObjectDataSource select方法选择GetPagedData(int StartRowIndex,int maximumrows);设置EnablePaging 为true 在代码中添加 selectCount=“QueryCount”删掉标签<selectParameters>,不然会出错
设置ListView属性 启动分页
listView 独立编辑叶
1.ListView 的InsertItemPosition 属性设置为FirstItem即将插入的模板放在最前面默认为LastItem 启用独立编辑叶时将其设置为none可以将插入模板即InsertItemTemplate 删除
2.FormView 控件 对单条数据进行编辑的控件能进行编辑、查看、新增操作
ListVIew 的itemCreated事件没创建一个元素都会调用。。每个数据用于设置插入的默认值
itemInserting事件中将插入之前的调整的数据进行修改
缓存机制
1.<@ outputCache Duration="时间">datascourse 缓存
Vs会自动拦截xss漏洞,所以若要关闭在page指令中设置
ValidateRequest="false"
10版的还要修改配置文件
<system.web>节点下加
<httpRuntime requestValidationMode="2.0" />
1) Ckeditor 插件的使用方法。。。。项目中新建文件夹将adapters。 Images.lang. Plus.skins themes ckeditor.js config.js. Content.css考入在要用的页面中导入ckeditor.js 将textarea的class属性换成“ckeditor”
2) 实现上传图片功能用Ckfinder插件用法:
--将bin/Release下的CKFinder.dll添加到项目的引用
--将core ckfinder.js ckfinder.html config.ascx放到ckfinder的目录
--修改ckeditor的配置文件config.js 将上传的处理程序设置成ckfinder
禁用Viewstate aspx页面中仍有少许的viewstate 只有页面没有runat="server" 的form时才没有viewstate
跟后台没交互的服务端控件可以完全不要viewstate;若有的话from得runat=“server”不能去掉