|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的asp+|笔记 8).数据会见的定制
除DataGrid以外,还有DataList和Repeater,可以加倍天真利用,不外你需求供应模板,
用控件templates
他们也有属性DataSource,可以付与一个ICollection对象,ItemTemplate控件指定每个纪录
显示的模样,例:
<ASP:Repeater id="MyRepeater" runat="server">
<template name="itemtemplate">
<%# DataBinder.Eval(Container.DataItem,"name")%>
</template>
</ASP:Repeater>
个中:Container暗示控件以外的第一个含System.Web.UI.INamingContainer的控件,本例中
是一个System.Web.UI.WebControls,RepeaterItem,包括了一个DataItem的属性。
别的,还可使用HeaderTemplate和FooterTemplate。
DataList有更强的掌握才能,好比他的RepeaterCoumns属性可指定一行反复几回,RepeatDirection
指定偏向。
拔出LinkButton控件可以引发select事务,DataList中可设OnSelectedIndexChanged属性指定事务Handler.
例:
<asp:DataList id="dl" OnSelectedIndexChanged="dl_Select">
<asp:LinkButton Command="select" runat="server">
<%#DataBinder.Eval(Container.DataItem."title")%>
</asp:LinkButton>
......
<script language="c#" runat="server">
void dl_Select(Object sencer,EventArgs E){
......
}
</script>
注重,能够有多个事务,好比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;
}
}
<asp:LinkButton Command="ratings" runat="server">
View ratings
</asp:LinkButton>
更妙的是,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;
}
......
<template name="edititemtemplate">
......
<b>Price:</b><input id="edit_price" type="text">
.
.
.
这可以很便利地用在体系后台保护上。
成绩,上例中模板中的控件恰好只要一个,所以FindControls起感化了,但假如有多个呢?
可以经由过程DataList的Items纠合来遍历,如:
for(int i=0;i<MyDataList.Items.count;i++)
String isChecked = ((CheckBox)MyDataList.Items.FindControls("save")).checked.ToString();
<template name="itemtemplate">
<asp:checkbox id="save" runat=server>
</template>
9).贸易控件
。使用的bin目次
在asp中的组件需求用regsvr32注册,不便利近程办理,ASP+中只需求放到使用的/bin目次下便可。
<%Import NameSpace="helloworld"%>引入称号空间,config文件来指定利用哪些控件,例:
<configuration>
<compilation>
<assemblies>
<add assembly="System.Data"/>
<add assembly="System.Web.Services"/>
<add assembly="System.Drawing"/>
<add assembly="*" />
</assemblies>
</compilation>
</configuration>
个中,前三个是全局的,最初一个是管bin目次下的。
10).写控件
略。
注重需求从Controls派生(System.Web.UI.Controls)
11).WebForms控件参考
两大类,
一是System.Web.UI.HtmlControls,以Html打头,多为Web页面上显示的。
二是System.Web.UI.WebControls,附加的,如DataGrid等。
详细略。
12).WebForms表达式参考
<%%>代码块,<%=%>也撑持的。
<script runat="server">
办事器控件用:<asp:Lable .....runat="server">
Html办事器控件用: <span id="Message" runat="server">
数据帮定:<%# %>
对象:<ob</p>[1] [2] 下一页
Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。 |
|