莫相离 发表于 2015-1-16 22:58:37

ASP网站制作之利用 ASP+ 列表绑定控件(中)

问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.asp+|控件Repeater1Page类掩盖了Page类的OnLoad办法。此暗示在对该页
的初次哀求中挪用DataBind。这将招致对这些页上的数据绑定表达式求
值并使repeater控件枚举数据源和创立其项目。仅在初次哀求时挪用
DataBind办法。这之以是能一般事情是由于repeater可以在夙昔一次保
存形态的回传过程当中从头创立其项目,而无需数据源实例。

  此页将范例ICollection的公用属性显现出来。这将在设置repeater
的DataSource属性值的数据绑定表达式中利用。属性的猎取完成利用包
含一组SiteInfo工具序列的ArrayList。此属性是公用的,由于只要页类
的公用和回护成员可在数据绑定表达式中利用。

  每一个SiteInfo工具有两个属性:SiteName和SiteURL。当对模板中
的HyperLink控件举行数据绑准时将会见这些属性。在此控件的绑定表达
式中,Container.DataItem暗示要将特定项绑定到其上的单个SiteInfo
工具。DataBinder.Eval(Container.DataItem,"SiteName")会见以后
SiteInfo工具的SiteName属性。

  Repeater1示例向您先容了几个基础观点:

●界说模板
●模板中的数据绑定语法和数据绑定表达式
●将ArrayList的ICollection暗示用作数据源
●在最后处置页的过程当中挪用DataBind办法

DataList控件

  DataList控件是一个模板化控件,它供应利用款式属性可视化地格局
化其暗示的才能。它也能够发生多列结构。

摘自DataList1.aspx:

〈%@Pagelanguage="C#"src="DataList1.cs"inherits="Samples.
DataList1Page"%〉
...

〈asp:DataListrunat=serverid="peopleDataList"
 RepeatColumns="2"RepeatDirection="Vertical"RepeatMode="Table"
 Width="100%"〉

 〈propertyname="AlternatingItemStyle"〉
  〈asp:TableItemStyleBackColor="#EEEEEE"/〉
 〈/property〉
 〈templatename="ItemTemplate"〉
  〈asp:Panelrunat=serverfont-size="12pt"font-bold="true"〉
   〈%#((Person)Container.DataItem).Name%〉
  〈/asp:Panel〉
  〈asp:Labelrunat=serverWidth="20px"
   BorderStyle="Solid"BorderWidth="1px"BorderColor="Black"
   BackColor=〈%#((Person)Container.DataItem).FavoriteColor
   %〉〉
  〈/asp:Label〉
  
  〈asp:Labelrunat=serverFont-Size="10pt"
   Text=〈%#GetColorName(((Person)Container.DataItem).
   FavoriteColor)%〉〉
  〈/asp:Label〉
 〈/template〉
〈/asp:DataList〉

此.aspx文件显现了用来天生此示例的DataList的声明。

  在此示例中,DataList的多列结构是经由过程将RepeatColumns属性设
置为“2”来完成的。将RepeatDirection设置为“Vertical”会使项目从
上到下、然后从左到右分列。相反,值设置为“Horizontal”会招致项目
从左到右、然后从上到下分列。

  aspx语法包括对多数几种DataList的款式属性的设置。在此示例中,
DataList的Width被设置为其父级的100%。设置具灰色背景的Alternating
ItemStyle是为了取得带有条纹的表面。此示例还申明模板能够包括恣意
庞大的控件界说,以满意在每一个项目内取得幻想结构的必要。

  最初此模板中的数据绑定表达式经由过程将Container.DataItem转换为其
范例来利用后期绑定。这不会招致与利用DataBinder.Eval(如Repeater1
中所示)相干联的前期绑定的价值。可是,这类办法大概会发生可读性较
差的表达式。以下示例还给出了一个挪用GetColorName办法(该办法是在
本页有代码撑持的文件中完成的)的表达式示例。

DataList1.cs:

namespaceSamples{
  ...

  publicclassDataList1Page:Page{
    protectedDataListpeopleDataList;

    protectedstringGetColorName(Colorc){
      return
       TypeDescriptor.GetConverter(typeof(Color)).Convert
       ToString(c);
    }

    privatevoidLoadPeopleList(){
      //创立数据源
      Person[]people=newPerson[]{
        newPerson("NikhilKothari",Color.Green),
        newPerson("SteveMillet",Color.Purple),
        newPerson("ChrisAnderson",Color.Blue),
        newPerson("MikePope",Color.Orange),
        newPerson("AnthonyMoore",Color.Yellow),
        newPerson("JonJung",Color.MediumAquamarine),
        newPerson("SusanWarren",Color.SlateBlue),
        newPerson("IzzyGryko",Color.Red)
      };

      //设置控件的数据源
      peopleDataList.DataSource=people;

      //并使该控件用此数据源构建其项目
      peopleDataList.DataBind();
    }

    protectedoverridevoidOnLoad(EventArgse){
      base.OnLoad(e);

      if(!IsPostBack){
        //初次哀求此页
        LoadPeopleList();
</p>ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。

灵魂腐蚀 发表于 2015-1-20 06:57:53

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

深爱那片海 发表于 2015-1-28 22:54:02

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

柔情似水 发表于 2015-1-31 19:44:15

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

精灵巫婆 发表于 2015-2-6 21:36:15

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

飘灵儿 发表于 2015-2-18 19:53:31

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

透明 发表于 2015-3-6 10:05:52

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

海妖 发表于 2015-3-12 23:54:36

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

飘飘悠悠 发表于 2015-3-20 05:49:45

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
页: [1]
查看完整版本: ASP网站制作之利用 ASP+ 列表绑定控件(中)