ASP网页编程之DataGrid小技能
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)datagrid|技能//增加删除确认对话框:privatevoidDataGrid1_ItemDataBound()
{
switch(e.Item.ItemType)
{
caseListItemType.Item:
caseListItemType.AlternatingItem:
caseListItemType.EditItem:
ImageButtonbtn=(ImageButton)e.Item.FindControl("btnDelete");
btn.Attributes.Add("onclick","returnconfirm(你是不是断定删除这笔记录?);");
break;
}
}
处置操纵:
privatevoidDataGrid1_ItemCommand()
{
stringc=e.CommandName;
intPermissionsID=(int)this.DataGrid1.DataKeys;//DataKeyField值
switch(c)
{
case"Delete":
//实行删除操纵
break;
}
}
另有个好办法:
datagrid-》属性天生器-》列-》增加按钮列-》删除-》文本(T)->在文本框里加上:
<divid="de"onclick="JavaScript:returnconfirm(断定删除吗?)">删除</div>
就能够了/
OK!
//从头取值赋值:
privatevoidDataGrid1_ItemDataBound()
{
if((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem))
{
//e.Item代表一行
stringImgUrl=(string)DataBinder.Eval(e.Item.DataItem,"ImageUrl");
//注重这一行,"ImageUrl"字段是甚么范例后面就转成甚么范例,不然报错
//e.Item.Cells.Style.Add("font-weight","bold");
//e.Item.Cells.ForeColor=System.Drawing.Color.Red;
//e.Item.BackColor=System.Drawing.Color.AliceBlue;
strings=e.Item.DataItem.ToString();
stringss=e.Item.Cells.Text;
intsss=e.Item.Cells.Count;
}
}
//绑定是从头盘算页数与以后页
publicvoiddataShowBind(DataSetds)
{
this.DataGrid1.DataSource=ds;
if(ds.Tables.Count>0)
{
introwscount=ds.Tables.Rows.Count;
doublep=double.Parse(rowscount.ToString())/5.0;
//注重:只要double/double了局才是double,int/int=int;
intnewPageCount=int.Parse(Math.Ceiling(p).ToString());
if(this.DataGrid1.CurrentPageIndex>newPageCount-1)
{
this.DataGrid1.CurrentPageIndex--;
}
this.DataGrid1.DataBind();
}
}
列中的控件的事务起首反升到DataGrid1_ItemCommand事务,但要判别CommandName
privatevoidTopicsGrid_ItemCommand(e)
{
stringbtn=e.CommandName;
inti=0;
switch(btn)
{
case"edit":
i=(int)this.TopicsGrid.DataKeys;
break;
case"delete":
i=(int)this.TopicsGrid.DataKeys;
break;
}
}
点击链接列弹出窗口
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<ahref="javascript:varaa=window.open(<%#"Form2.aspx?id="+DataBinder.Eval(Container.DataItem,"持股称号")%>,,width=310,height=280,top=160,left=350);aa.focus();">
<%#DataBinder.Eval(Container.DataItem,"持股称号")%>
</a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</p>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 不能只是将它停留在纸上谈兵的程度上。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
页:
[1]