国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用 ASP+ 下文綁定控件(中)

運用 ASP+ 下文綁定控件(中)

更新時間:2022-05-09 文章作者:未知 信息來源:網絡 閱讀次數:

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:

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

〈asp:DataList runat=server id="peopleDataList"
 RepeatColumns="2" RepeatDirection="Vertical" RepeatMode="Table"
 Width="100%"〉

 〈property name="AlternatingItemStyle"〉
  〈asp:TableItemStyle BackColor="#EEEEEE"/〉
 〈/property〉
 〈template name="ItemTemplate"〉
  〈asp:Panel runat=server font-size="12pt" font-bold="true"〉
   〈%# ((Person)Container.DataItem).Name %〉
  〈/asp:Panel〉
  〈asp:Label runat=server Width="20px"
   BorderStyle="Solid" BorderWidth="1px" BorderColor="Black"
   BackColor='〈%# ((Person)Container.DataItem).FavoriteColor
   %〉'〉  
  〈/asp:Label〉
    
  〈asp:Label runat=server Font-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:

namespace Samples {
  ...

  public class DataList1Page : Page {
    protected DataList peopleDataList;

    protected string GetColorName(Color c) {
      return
       TypeDescriptor.GetConverter(typeof(Color)).Convert
       ToString(c);
    }

    private void LoadPeopleList() {
      // 創建數據源
      Person[] people = new Person[] {
        new Person("Nikhil Kothari", Color.Green),
        new Person("Steve Millet", Color.Purple),
        new Person("Chris Anderson", Color.Blue),
        new Person("Mike Pope", Color.Orange),
        new Person("Anthony Moore", Color.Yellow),
        new Person("Jon Jung", Color.MediumAquamarine),
        new Person("Susan Warren", Color.SlateBlue),
        new Person("Izzy Gryko", Color.Red)
      };

      // 設置控件的數據源
      peopleDataList.DataSource = people;

      // 并使該控件用此數據源構建其項目
      peopleDataList.DataBind();
    }

    protected override void OnLoad(EventArgs e) {
      base.OnLoad(e);

      if (!IsPostBack) {
        // 首次請求此頁
        LoadPeopleList();
      }
    }
  }

  public sealed class Person {
    private string name;
    private Color favoriteColor;

    public Person(string name, Color favoriteColor) {
       this.name = name;
       this.favoriteColor = favoriteColor;
    }

    public Color FavoriteColor {
      get { return favoriteColor; }
    }
    public string Name {
      get { return name; }
    }
  }
}

  在此頁中,控件的 DataSource 屬性是通過程序設置的,與在aspx文
件中聲明性地設置相對。兩種方法的結果相同。無法選擇哪種方法,都必
須調用 DataBind 方法,以便控件可以列舉其數據源并創建它要表示的項
目。

  此示例中所用的數據源是 Person 對象的一個簡單數組。由于每個數
組都實現ICollection方法,所以數組適合用作數據源。這顯示了將數據
結構和類型用作數據源時可獲得的靈活程度。

DataList1 示例介紹了下列概念:

●在模板中定義豐富的 HTML UI
●使用簡單數組作為數據源
●通過程序設置數據源
●數據綁定語法中所允許的各種表達式

DataGrid 控件

  DataGrid 控件使您可以生成數據源格式豐富的列表表示。此外,它
還支持隨其它操作選擇項目。

  本節的四個示例使用包含有關書名信息(標題、標題ID、作者、價格
和出版日期)的表。全部數據都用TitlesDB.xml中的XML予以維持。在建
立頁面來表示此表的內容并選擇書籍時,這些示例遵循增量方法。代碼列
表包含黑體文本,以表明一個示例構建于以前示例時所作的更改。

截自 TitlesDB.xml:

〈root〉
〈schema id="DocumentElement" targetNamespace=""
    xmlns=http://www.w3.org/1999/XMLSchema
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"〉
  〈element name="Title"〉
    〈complexType content="elementOnly"〉
      〈element name="title_id" type="string"〉〈/element〉
      〈element name="title" type="string"〉〈/element〉
      〈element name="au_name" type="string"〉〈/element〉
      〈element name="price" msdata:DataType="System.
      Currency"
           minOccurs="0"
           type="string"〉〈/element〉
      〈element name="pubdate" type="timeInstant"〉
      〈/element〉
    〈/complexType〉
    〈unique name="TitleConstraint" msdata:PrimaryKey="True"〉
      〈selector〉.〈/selector〉
      〈field〉title_id〈/field〉
    〈/unique〉
  〈/element〉
〈/schema〉
〈DocumentElement〉
  〈Title〉
    〈title_id〉BU1032〈/title_id〉
    〈title〉The Busy Executive's Database Guide〈/title〉
    〈au_name〉Marjorie Green〈/au_name〉
    〈price〉19.99〈/price〉
    〈pubdate〉1991-06-12T07:00:00〈/pubdate〉
  〈/Title〉
  ...
〈/DocumentElement〉
〈/root〉

  在典型的Web應用程序中,為了獲得最大的可伸縮性和性能上的好處,
很可能會使用 Web服務或商業對象來存取數據。為了簡化這些示例并將注
意力集中在使用 DataGrid 而不是數據存取上,我們選擇在應用程序啟動
時一次性加載數據,并在 Global.asax 中的 ASP 應用程序狀態中高速緩
存所得的DataSet,如下所示。

截自 Global.asax:

public void Application_OnStart() {
  FileStream fs = null;
  DataSet ds = null;

  try {
    fs = new FileStream(Server.MapPath("TitlesDB.xml"),
    FileMode.Open,
              FileAccess.Read);
    ds = new DataSet();

    // 將 xml 文件中的數據加載到 DataSet 中
    ds.ReadXml(fs);
  } finally {
    if (fs != null) {
      fs.Close();
      fs = null;
    }
  }

  // 將數據集高速緩存到應用程序狀態中,以便在單個頁面中使用
  Application["TitlesDataSet"] = ds;
}

DataGrid1

  DataGrid1說明DataGrid的基本用法,說明控件如何用最少的用戶代
碼生成表示來提供豐富的功能。

截自 DataGrid1.aspx:

〈%@ Page language="C#" src="DataGrid.cs" inherits="Samples.Data
GridPage"%〉
...

〈asp:DataGrid runat=server id="titlesGrid"〉
〈/asp:DataGrid〉

  上面的.aspx 文件顯示在不設置 DataGrid 控件任何屬性的情況下對
其進行聲明。

DataGrid.cs:

namespace Samples {
  ...

  public class DataGridPage : Page {
    protected DataGrid titlesGrid;

    public ICollection GetTitlesList() {
      // 從在應用程序狀態中高速緩存的 DataSet 中檢索標題列
      表。
      DataSet titlesDataSet = (DataSet)Application["Titles
      DataSet"];

      if (titlesDataSet != null) {
        return titlesDataSet.Tables["Title"].DefaultView;
      }
      else {
        return null;
      }
    }

    private void LoadTitlesGrid() {
      // 從數據庫中檢索數據
      ICollection titlesList = GetTitlesList();

      // 設置控件的數據源
      titlesGrid.DataSource = titlesList;

      // 并使它用此數據源構建其項目
      titlesGrid.DataBind();
    }

    protected override void OnLoad(EventArgs e) {
      base.OnLoad(e);

      if (!IsPostBack) {
        // 首次請求此頁
        LoadTitlesGrid();
      }
    }
  }
}

  .cs文件包含用于此頁的代碼。此代碼與DataList1示例中使用的代碼
功能相同。在對此頁的首次請求中,它覆蓋 OnLoad 方法以檢索數據并在
調用DataBind之前設置控件的DataSource屬性。這將使DataGrid創建其項
目,這些項目是表中必要的行。在回傳處理的過程中,DataGrid從狀態
(該狀態包括在上一次請求中所保存的單元格內容)重新創建項目。

  此示例說明了 DataGrid 控件的 AutoGenerateColumns 屬性的功能。
此屬性的默認值為 true。當設置為 true時,DataGrid將使用reflection
檢查其數據源和對象,并為每個公用屬性或字段創建一個列。在此示例中,
控件表示“標題”表中當前的所有字段。這一功能允許用最少的用戶代碼
快速而容易地生成任何數據源的列表表示。

  每個自動生成列的類型都是BoundColumn。這種列類型將與其關聯的
屬性值轉換為要用作表單元格文本的字符串。

DataGrid2

  DataGrid2說明具有在.aspx文件中定義的Columns集合的DataGrid。

摘自 DataGrid2.aspx:

〈%@ Page language="C#" src="DataGrid.cs" inherits="Samples.Data
GridPage"%〉
...

〈asp:DataGrid runat=server id="titlesGrid"
   AutoGenerateColumns="false"〉
 〈property name="Columns"〉
  〈asp:BoundColumn headerText="Title" DataField="title"/〉
  〈asp:BoundColumn headerText="Author" DataField="au_name"/〉
  〈asp:BoundColumn headerText="Date Published" DataField="
  pubdate"/〉
  〈asp:BoundColumn headerText="Price" DataField="price"/〉
 〈/property〉
〈/asp:DataGrid〉

  此.aspx文件顯示了一個具有用戶指定的列集合的 DataGrid 控件。
此示例使用與 DataGrid1 相同的有代碼支持的文件,因為不需要更改任
何代碼。

  DataGrid的AutoGenerateColumns屬性被設置為假,從而阻止控件自
動生成列,而讓用戶負責定義將要在表中表示的列。

有許多好處:
●您可控制列的順序。以聲明的順序表示列。另一方面,自動生成的列是
按用映像檢索到的順序表示的,此順序不必與代碼中的列順序或數據庫表
本身的列順序相匹配。
●可以用列的headerText屬性來指定每列的標頭。在前一個示例中,列標
頭指明了字段名,這可能并不合適。當在此模式下使用控件時,Columns
還提供其它可設置的屬性。
●自動生成的列的類型始終是 BoundColumn。指定列集合使用戶可以控制
每列的類型。


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        国产曰批免费观看久久久| 麻豆精品一区二区av白丝在线| 国产精品自拍一区| 一区二区三区成人| 综合网在线视频| 久久精品视频一区二区三区| 欧美一区二区三区色| 欧美在线视频不卡| 色综合久久88色综合天天6| 成人午夜电影网站| 国产高清不卡二三区| 国产电影精品久久禁18| 国产成人午夜电影网| 国产福利91精品一区| 成人丝袜高跟foot| 99国产精品一区| 欧美专区日韩专区| 欧美日韩精品一区二区| 777精品伊人久久久久大香线蕉| 欧美日韩国产天堂| 日韩欧美中文一区| 日韩精品综合一本久道在线视频| 日韩美女一区二区三区| 国产欧美综合在线观看第十页 | 日本乱人伦一区| 欧美三级电影精品| 欧美久久久久免费| 日韩免费电影网站| 欧美国产精品久久| 亚洲小说春色综合另类电影| 肉肉av福利一精品导航| 国内精品伊人久久久久影院对白| 国产99久久久精品| 欧美日韩www| 一区二区在线观看免费| 亚洲在线免费播放| 狠狠色狠狠色综合| 91社区在线播放| 日韩一级大片在线| 国产精品久久久久桃色tv| 亚洲国产色一区| 国产suv精品一区二区883| 精品视频免费在线| 日本一区二区三区久久久久久久久不| 亚洲欧美日韩久久精品| 五月激情综合网| www.欧美色图| 日韩小视频在线观看专区| 国产精品久久久一本精品| 日日摸夜夜添夜夜添亚洲女人| 国产在线精品一区二区夜色| 91碰在线视频| 久久久久久久久久看片| 亚洲综合免费观看高清完整版在线| 久久精品国产**网站演员| 91麻豆国产在线观看| 久久久久国色av免费看影院| 亚洲成av人**亚洲成av**| 成人性生交大片免费看视频在线 | 在线观看成人小视频| 久久亚洲精品国产精品紫薇| 亚洲国产一二三| 国产精品夜夜爽| 日韩欧美综合一区| 亚洲国产精品视频| 9色porny自拍视频一区二区| 欧美电视剧免费全集观看| 亚洲精品视频在线| 99在线精品一区二区三区| 亚洲精品一区二区精华| 午夜av区久久| 欧美三片在线视频观看| 亚洲日本va午夜在线电影| 成人免费av在线| 国产精品午夜在线| 国产精品一二三四区| 久久精品视频一区| 久久99热99| 久久嫩草精品久久久精品一| 久久成人久久爱| 日韩网站在线看片你懂的| 日本不卡视频一二三区| 91精品欧美一区二区三区综合在| 亚洲精品日日夜夜| 色悠悠久久综合| 亚洲精品国产成人久久av盗摄| 97国产精品videossex| 亚洲人精品午夜| 一本久久精品一区二区| 玉足女爽爽91| 欧美三级韩国三级日本三斤| 亚洲aⅴ怡春院| 欧美一区二区三区在| 日韩高清欧美激情| 日韩视频在线你懂得| 国产一区二区视频在线| 久久久久久久久一| 成人av电影在线| 亚洲日本丝袜连裤袜办公室| 色一情一伦一子一伦一区| 亚洲影院久久精品| 91超碰这里只有精品国产| 极品销魂美女一区二区三区| 欧美国产综合一区二区| 99综合电影在线视频| 亚州成人在线电影| 精品久久五月天| 成人一道本在线| 九九九久久久精品| 亚洲午夜一区二区| 日韩精品一区二区三区视频| 国产精品91一区二区| 亚洲日本成人在线观看| 国产精品亚洲а∨天堂免在线| 久久精品一区二区三区不卡牛牛 | 9人人澡人人爽人人精品| 亚洲免费成人av| 日韩一区二区电影| 国产传媒日韩欧美成人| 一区二区高清在线| 亚洲精品一区二区三区蜜桃下载 | 日本成人在线网站| 久久人人97超碰com| 91农村精品一区二区在线| 午夜精品福利视频网站| 久久久www成人免费无遮挡大片| 日本韩国视频一区二区| 免费在线欧美视频| 中文字幕亚洲一区二区av在线| 欧美日本韩国一区| 高清shemale亚洲人妖| 日日骚欧美日韩| 中文字幕在线视频一区| 91.成人天堂一区| 懂色av一区二区三区蜜臀| 天天色综合天天| 国产精品你懂的在线欣赏| 欧美一区二区三区不卡| 97国产精品videossex| 加勒比av一区二区| 日韩中文字幕区一区有砖一区| 中文字幕高清不卡| 精品入口麻豆88视频| 欧美在线影院一区二区| 国产黑丝在线一区二区三区| 麻豆精品久久精品色综合| 亚洲一区二区在线观看视频 | 成人手机在线视频| 日韩高清在线不卡| 亚洲线精品一区二区三区八戒| 亚洲国产高清在线观看视频| 欧美一区二区三区在线看| 色婷婷亚洲综合| 91九色最新地址| 欧美日韩激情一区二区| 99re在线视频这里只有精品| 国产成人综合在线| 奇米影视一区二区三区| 亚洲尤物视频在线| 亚洲欧美偷拍卡通变态| 欧美激情一区二区在线| 久久精品一区二区| 欧美精品一区视频| 欧美成人r级一区二区三区| 欧美日韩国产高清一区二区| 色婷婷av一区二区| 色偷偷成人一区二区三区91| 一本一本大道香蕉久在线精品| 波多野结衣视频一区| 北条麻妃国产九九精品视频| 国产成人综合网| 成人av资源站| 91麻豆6部合集magnet| 91免费在线看| 色一情一伦一子一伦一区| 在线精品视频小说1| 欧美亚洲国产一区二区三区va| 欧美性猛片aaaaaaa做受| 欧美日韩国产三级| 日韩一区二区三区在线| 久久综合给合久久狠狠狠97色69| 久久精品无码一区二区三区| 国产精品天干天干在线综合| 亚洲色图视频网站| 亚洲国产aⅴ天堂久久| 亚洲第一福利一区| 久久福利资源站| eeuss鲁一区二区三区| 91成人国产精品| 日韩欧美激情在线| 国产日本欧洲亚洲| 亚洲欧美区自拍先锋| 午夜精彩视频在线观看不卡| 日韩影院精彩在线| 国产麻豆午夜三级精品| 99久久精品免费看国产| 欧美在线视频不卡| 久久久久久久电影| 亚洲一区二区欧美激情| 日本免费新一区视频|