M_ary  
本人热爱编程...更期待和谐的团队.. 有意者,请发送邮件与我.. wangkang198802@126.com

1)关于分页语句  

1  not in    

  select top pageSize * from table where tid not in (select top (pageIndex-1)*pagesize tid from table) ;

  --------------或者    

  select * from ( select *,Row_Number() over(order by id) RowNumber from books ) t where t.RowNumber>=2 and t.RowNumber<=7;  

2  使用存储过程    

  create  Procedure GetPageData(      

  @PageIndex  int =1,      

  @PageSize   int =7,      

  @RowCount  int output,      

  @PageCount  int  output,)

  as

  Declare  @sql nvarchar(225),@sqlcount nuachar(225)

  select @rowcount=count(sid),@pagecount=ceiling( count(sid)+0.0 )/@pagesize  from studentsset  

  @sql='select top '+str(@pagesize)+' * from students,classes where scid=cid and sid not in(select top) '  +str( (@pageIndex)-1 )*pagesize)  +'sid from students'

  print  @sql

  exec(@sql)

  ------------------------执行declare  

  @rowcount int,@pagecount intexec  GetPageData  1,3,@rowcount out ,@pagecount outputselect  rowcount,@pagecount

2)关于多次请求如何保持数据自增的问题  1  思路就是:resquest.QueryString[""];viewState[];取得的都是请求页面所在的数据,于本页面即便是相同的变量无关。

3)链接中使用js  <a href=' javascript:doDel(2) '></a>

4)对表格的操作   

1 删除操作    var tbRows=gel("tbList").rows;  //得到指定表格的行的集合    

    for(i=0;i<tbRows.length;i++)    //遍历  {      

    if(tbRows[i].childNodes[1].innerHTML=idNum){   //  判断是否这一行的id于输入的id是否相等;      

    gel("tbList").deleteRow(i);  //删除这一行       break;       }   }  

2  新增操作  

  var tbl=gel("tbList");  for(i=0;i<jsonObj.length;i++){    

  var nRow=tbl.insertRow(-1);   //要指定往每一行的后面插入    

  var nCol1=nRow.insertCell(-1);  //往每一单元格的后面插入;    

  var nCol2=nRow.insertCell(-1);  //往每一单元格的后面插入;    

  nCol1.innerHTML=i+1;    

  nCol2.innerHTML=jsonObj[i].Atitle;} 

3  关于json分页  {"list":[ {"title":"","aid":"" } ] ,"":[ "" ]  ,"rowCount":"" ,"pageCount":"" }

4)Web窗体的页面生命周期  页面初始化--加载页面--验证--事件处理--事件处理--页面显示之前--页面卸载;

5)关于服务器端控件  

1  var s=document.getElementById("<%=Button1.ClientID %>");    

  服务器端控件被数据验证控件包裹时,则生成的html的id于控件id不一样;  

2  visible=false;将visible属性进行设置后,就不会渲染到客户端。与<div style="visibility:hidden;">虽然不显示,但是占位
置不同,  

3   CssClass属性,就是HTML中的class属性。  

4   Attribute属性,

6)关于服务器端控件 

1  html控件;使用runat=server;的服务器端控件;服务器端控件; 

2  虚拟路径~;对于非ruat=server的控件不能代表根路径;即不起作用;

7)关于数据绑定控件--Repeter 

1  <%#Eval("Age") %>   //就是将遍历当前对象行的属性Age属性值显示。 

2  <%#"img/"+Eval("pic1") %>  //注意<%# %>就是输出C#语句。     <%#Eval("id","book.aspx?id={0}") %> 

3  ItemDataBound事件;每行数据显示都会调用该事件;若要对ItemTemplate中的控件做处理,就需要使用ASP.Net服务器
端控件,并且用e.Item.FindControl根据Id来获得该控件。 

4  e.Item.ItemType来判断当前使用的模板是何种类型。 

5  ItemCommand事件;只有提交按钮才会触发该事件。    

  if(e.CommandName.Equals("Del")){ e.CommandArgument... }   //因为一行有多个按钮,可用CommandName来判断,并用CommandArgument来获取相应的参数值。    

  Repeater1.DataBind();  //从数据库中刷新最新的数据;

8)关于数据绑定控件--ListView  

1  在删除时,需要参数id,此时注意BLL中删除方法参数id,需要和实体类id大小写一样,并且在Datasource中指定删除选项
的Name属性的参数id一样;并且要在ListView中欧哪个的DataKeyNames的属性值指定其主键。  

2  Cache用空间换取时间的技术,无论多少人访问都只访问一次DB,是改进网站性能的第一个手段。

9)关于缓存--页面缓存;数据源缓存;数据缓存  

1  页面缓存就是设置<%@ outputcache varyByParam="none"%>  //根据URL来缓存;    

  varyByParam=“id;name” ;则是根据url的参数id或者name的值的不同来分别进行缓存页面。  

  varyByParam=“*”;则只要参数不一样就会为此页面产生缓存。  

2  数据源缓存:则是为datasource设置缓存,就设置属性cacheDuration和Enableaching;  

3  局部缓存:Cache.Insert("key",valueObj,null,DateTiem.Now.AddHours(1),TimeSpan.Zero);

10)关于缓存依赖---缓存的消失不依赖于时间,而是内容  

1  依赖于文件;   System.Web.Caching.CacheDependency cdep=new System.Web.Caching.CacheDependency(filePath);  

2  依赖于数据库(轮询机制;通知机制)

  alter Trigger tr_Aticle on  表名 for  insert,update,delete as ...触发事件后要执行的操作  

  //实现思路:另增添一张版本记录表,当新闻表中的数据发生改变时,通过触发器就影响了版本记录表(两列),所以就只需要
查看版本记录表中的数据是否发生变化就清空缓存。 

11)关于数据绑定控件--GridView(网格,一行是DB中一个记录,一列是DB中一个字段)  

1  编辑:RowEdtiong事件,e.NewEditIndex;获得当前编辑行  

2  更新:RowUpdating事件,  

3  取消:RowCancelingEdit事件;GridView1.EditIndex=-1;取消编辑  

4  删除:

  GridView1.Rowsp[e.RowIndex].Cells[9].text;  //label状态

  ((Label)GridView1.Rowsp[e.RowIndex].Cells[9].FindControl("....")).text  ;//隐藏状态的label,要用自定义模板;

12)关于数据绑定控件--DataList(每一行看做一个对象,组成网格)  

  1  于Repeter一样只能进行数据的展示,但是它不仅在局限于每一行对应着DB表的每一行;它是将每一行看做一个对象,通
过RepeatColumns来进行设置空间中的每一行展示几个对象。

13)关于数据绑定控件--DetailsView(仅是对一行对象进行展示)

posted on 2011-06-29 17:26  M_ary  阅读(375)  评论(0)    收藏  举报