国产午夜成人免费看片无遮挡_日本免费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>

        精品视频一区三区九区| 国产精品日韩成人| 欧美一区二区三区电影| 亚洲一区国产视频| 日韩欧美一区二区久久婷婷| 国内精品写真在线观看| 国产三级精品视频| 成人激情图片网| 国产精品国模大尺度视频| 99国产精品国产精品久久| 亚洲综合偷拍欧美一区色| 欧美色爱综合网| 日韩高清中文字幕一区| 久久久久九九视频| 91极品视觉盛宴| 久草在线在线精品观看| 国产精品久久免费看| 欧美日韩二区三区| 精品一区二区在线看| 国产精品私人影院| 欧美日韩不卡一区| 成人三级伦理片| 五月激情综合婷婷| 亚洲免费观看高清在线观看| 日韩丝袜情趣美女图片| 91视频观看视频| 国产专区综合网| 天堂影院一区二区| 亚洲精品久久久蜜桃| 欧美久久一区二区| 99re8在线精品视频免费播放| 另类小说欧美激情| 亚洲福利视频导航| 亚洲男同性视频| ww久久中文字幕| 欧美日韩综合色| 91视频国产资源| 成人丝袜视频网| 国产真实精品久久二三区| 亚洲国产精品久久艾草纯爱| 亚洲视频一二三区| 国产精品传媒入口麻豆| 久久婷婷国产综合国色天香| 日韩视频在线永久播放| 欧美美女一区二区三区| 欧美主播一区二区三区| 日本道在线观看一区二区| 成人少妇影院yyyy| 成人av影视在线观看| 国产精品影音先锋| 韩国成人在线视频| 久久国产夜色精品鲁鲁99| 日本sm残虐另类| 视频在线观看国产精品| 亚洲h在线观看| 首页国产欧美日韩丝袜| 日韩av网站在线观看| 亚洲丶国产丶欧美一区二区三区| 亚洲免费观看高清完整版在线观看 | 欧美特级限制片免费在线观看| 成人网在线播放| 成人一区二区三区视频| 成人免费视频一区二区| 99国内精品久久| 一本色道久久综合亚洲aⅴ蜜桃| av电影在线观看一区| 91免费在线播放| 欧美影片第一页| 欧美酷刑日本凌虐凌虐| 欧美一二三在线| 久久久亚洲综合| 日韩一区欧美一区| 亚洲国产cao| 老鸭窝一区二区久久精品| 国内久久精品视频| 国产成人精品网址| 欧美午夜精品一区二区蜜桃 | 成人免费观看视频| 色欲综合视频天天天| 欧美日韩国产高清一区二区三区| 91精品婷婷国产综合久久性色| 久久综合视频网| 亚洲视频每日更新| 久久国产欧美日韩精品| 国产精品一区二区久久不卡| 成人高清免费观看| 欧美男男青年gay1069videost| 日韩欧美国产精品| 亚洲欧美一区二区在线观看| 香蕉加勒比综合久久| 国产精品1区2区3区| 一本久道中文字幕精品亚洲嫩| 91麻豆精品国产91久久久| 国产精品欧美一区二区三区| 日本美女一区二区三区| 成人精品免费网站| 日韩精品一区在线| 亚洲第一会所有码转帖| 成人自拍视频在线| 日韩视频在线一区二区| 亚洲色图欧洲色图| 国产麻豆成人传媒免费观看| 色婷婷国产精品久久包臀| 精品久久久久99| 亚洲图片自拍偷拍| 国产传媒欧美日韩成人| 欧美一区二区三级| 一区二区三区在线免费| 成人精品视频网站| 久久先锋影音av鲁色资源网| 图片区小说区国产精品视频| 91黄色免费看| 亚洲色图视频免费播放| 国产精品1区2区| 久久网这里都是精品| 九九精品视频在线看| 欧美一级片免费看| 日韩电影免费在线| 欧美色综合网站| 亚洲视频 欧洲视频| 99久久国产免费看| 亚洲欧美综合在线精品| 成人黄色大片在线观看| 精品国产一区二区三区久久影院| 香蕉影视欧美成人| 欧美性大战久久久久久久蜜臀| 中文字幕日韩精品一区| 波多野结衣的一区二区三区| 国产午夜精品美女毛片视频| 免费成人你懂的| 这里只有精品免费| 日本在线播放一区二区三区| 欧美日韩亚洲综合在线| 亚洲成av人片在线观看| 777亚洲妇女| 国产在线国偷精品产拍免费yy | 精品视频在线免费看| 亚洲一级二级在线| 欧美日韩一区久久| 午夜激情久久久| 欧美久久婷婷综合色| 午夜视黄欧洲亚洲| 欧美狂野另类xxxxoooo| 日本成人在线电影网| 日韩视频免费观看高清完整版 | 琪琪久久久久日韩精品| 欧美探花视频资源| 免费在线看一区| 久久综合久久综合亚洲| 成人综合婷婷国产精品久久蜜臀 | 色哟哟一区二区三区| 中文字幕制服丝袜一区二区三区| 99久久777色| 婷婷开心激情综合| 久久久久免费观看| 成人av影院在线| 亚洲第一激情av| 日韩视频免费观看高清完整版| 国产一区二区美女诱惑| 一区视频在线播放| 欧美一二三区在线观看| 成人免费高清在线观看| 亚洲综合免费观看高清完整版在线| 制服丝袜一区二区三区| 粗大黑人巨茎大战欧美成人| 亚洲色图视频免费播放| 精品少妇一区二区三区在线视频| 国产成人精品免费在线| 亚洲黄色片在线观看| 欧美一区二区在线不卡| 成人精品视频.| 蜜桃久久久久久久| 亚洲日本在线视频观看| 8x8x8国产精品| 91视频.com| 国产在线精品免费av| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美一区二区福利在线| 99国产精品一区| 国产黄色91视频| 日产精品久久久久久久性色| 国产精品白丝在线| 久久久av毛片精品| 欧美视频一区二区三区四区| 国产精品影视天天线| 蜜臀av性久久久久蜜臀aⅴ | 亚洲欧美一区二区久久| 精品理论电影在线| 9191久久久久久久久久久| 色婷婷精品久久二区二区蜜臂av | 久久狠狠亚洲综合| 性做久久久久久免费观看| 亚洲图片你懂的| 中文字幕中文字幕中文字幕亚洲无线| 日韩精品一区二区三区在线 | 欧美在线观看18| 91在线视频网址| 波多野结衣在线aⅴ中文字幕不卡| 国内精品国产三级国产a久久 | 日韩高清不卡一区二区三区|