8).数据访问的定制
除了DataGrid之外,还有DataList和Repeater,可以更加灵活使用,不过你需要提供模板,
用控件templates
他们也有属性DataSource,可以赋予一个ICollection对象,ItemTemplate控件指定每一个记录
显示的样子,例:
<%#>
其中:Container表示控件之外的第一个含System.Web.UI.INamingContainer的控件,本例中
是一个System.Web.UI.WebControls,RepeaterItem,包含了一个DataItem的属性。
另外,还可以使用HeaderTemplate和FooterTemplate。
DataList有更强的控制能力,比如他的RepeaterCoumns属性可指定一行重复几次,RepeatDirection
指定方向。
插入LinkButton控件可以引起select事件,DataList中可设OnSelectedIndexChanged属性指定事件Handler.
例:
<%#databinder.eval(container.dataitem."title")%>
......
注意,可能有多个事件,比如Edit/Update/Cancel,所以可以用一个统一的OnItemCommand来处理,
凭Command判断到底是什么事件。例:
void dl_select(Object src,DataListCommandEventArgs E){
String command=((LinkButton)E.CommandSource).Text;
switch(command)
{case "discuss":.....break;
case "ratings":......break;
}
}
View ratings
更妙的是,DataList还可以支持Edit和Select模板!!
例:
void MyDataList_Edit(Object sender,DataListCommandEventArgs E){
MydataList.EditItemIndex = (int)E.Item,ItemIndex;
//设定谁被选中进行编辑
......//重新帮定
}
void MyDataList_Update(Object sender,DataListCommandEventArgs E){
String price = ((HtmlInputText)E.Item.FindControl("edit_price")).Value;
......
MyDataList.EditItemIndex=-1;
}
......
......
Price:
.
.
.
这可以很方便地用在系统后台维护上。
问题,上例中模板中的控件刚好只有一个,所以FindControls起作用了,但如果有多个呢?
可以通过DataList的Items集合来遍历,如:
for(int i=0;i<MyDataList.Items.count;i++)
String isChecked = ((CheckBox)MyDataList.Items[i].FindControls("save")).checked.ToString();
9).商业控件
。应用的bin目录
在asp中的组件需要用regsvr32注册,不方便远程管理,ASP+中只需要放到应用的/bin目录下即可。
<%import namespace="helloworld">引入名称空间,config文件来指定使用哪些控件,例:
其中,前三个是全局的,最后一个是管bin目录下的。
10).写控件
略。
注意需要从Controls派生(System.Web.UI.Controls)
11).WebForms控件参考
两大类,
一是System.Web.UI.HtmlControls,以Html打头,多为Web页面上显示的。
二是System.Web.UI.WebControls,附加的,如DataGrid等。
具体略。
12).WebForms表达式参考
<%%>代码块,<%=%>也支持的。
服务器控件用:
Html服务器控件用:
数据帮定:<%# %>
对象:,如:
服务器端注释:<%-- comment --%>
服务器端包含:<--#include file="..." -->
" _ue_custom_node_="true">
相关视频
相关阅读 Win10预览版怎么升级 Win10预览版升级方法厂商不再预装Win7或8.1系统,驱动人生帮您快速升级Mac移动硬盘安装win8 Mac将win装在移动硬盘使用教程windows10xboxone串流简单教程Windows Hello怎么用 Windows Hello使用设置教程win10怎么关闭自动更新 win10如何关闭自动更新Mac系统如何远程桌面到Windows系统windows update更新有用吗 windows update下载的文件在哪
热门文章 没有查询到任何记录。
最新文章
《龙珠:超宇宙》 战斗E3 2014:瘆人僵尸《消
asp代码实现access数据导出到excel文件如何使用FSO读取Js文件内容并可以编辑修改对初学者有用的一些asp函数集学习ASP编程必会的代码
人气排行 asp代码实现access数据导出到excel文件asp不需要任何配置的伪静态实现如何使用FSO读取Js文件内容并可以编辑修改asp去除html标记和空格的代码Asp全选删除代码教大家网页伪静态知识及其2种实现方法Microsoft SQL Server 7.0安装问题(一)ASP.NET中的Code Behind技术4
查看所有0条评论>>