ASP.Net/Data Binding/DataList

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

asp:DataList repeat column (C#)

   <source lang="csharp">

/* ASP.NET 2.0 Unleashed (Unleashed) (Hardcover) by Stephen Walther

  1. Publisher: Sams; Bk&CD-Rom edition (June 6, 2006)
  2. Language: English
  3. ISBN: 0672328232
  • /


<%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <script runat="server">

   protected void btnAdd_Click(object sender, EventArgs e)
   {
       if (upImage.HasFile)
       {
           if (CheckFileType(upImage.FileName))
           {
               upImage.SaveAs(MapPath(upImage.FileName));
           }
       }
   }
   bool CheckFileType(string fileName)
   {
       string ext = Path.GetExtension(fileName);
       switch (ext.ToLower())
       {
           case ".gif":
               return true;
           case ".png":
               return true;    
           case ".jpg":
               return true;            
           case ".jpeg":
               return true;
           default:
               return false;        
       }
   }
   void Page_PreRender()
   {
       string upFolder = MapPath(".");
       DirectoryInfo dir = new DirectoryInfo(upFolder);
       dlstImages.DataSource = dir.GetFiles();
       dlstImages.DataBind();
   }

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>FileUpload File</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:Label
       id="lblImageFile"
       Text="Image File:"
       AssociatedControlID="upImage"
       Runat="server" />
   <asp:FileUpload
       id="upImage"
       Runat="server" />
   

<asp:Button id="btnAdd" Text="Add Image" OnClick="btnAdd_Click" Runat="server" />

   <asp:DataList
       id="dlstImages"
       RepeatColumns="3"
       runat="server">
       <ItemTemplate>
       <asp:Image ID="Image1" 
           ImageUrl="<%# Eval("Name", "./{0}") %>"
           style="width:200px"
           Runat="server" />
       
<%# Eval("Name") %> </ItemTemplate> </asp:DataList>
   </form>

</body> </html>

      </source>
   
  


Bind data to asp:datalist (VB.net)

   <source lang="csharp">

<%@ Page Language="vb" %> <%@ Import Namespace="System.Data" %> <html> <head>

  <title>Databound Control Example</title>
  <script runat="server">
     Sub Page_Load()
        MyDataGrid.DataSource = CreateData()
        MyDataGrid.DataBind()
        MyDataList.DataSource = CreateData()
        MyDataList.DataBind()
        MyRepeater.DataSource = CreateData()
        MyRepeater.DataBind()
     End Sub
     Function CreateData() As DataTable
        Dim DT As New DataTable()
        Dim Row1, Row2, Row3, Row4 As DataRow
        DT.Columns.Add(New DataColumn("name", System.Type.GetType("System.String")))
        DT.Columns.Add(New DataColumn("city", System.Type.GetType("System.String")))
        Row1 = DT.NewRow()
        Row1("name") = "Name 1"
        Row1("city") = "City 1"
        DT.Rows.Add(Row1)
        Row2 = DT.NewRow()
        Row2("name") = "Name 2"
        Row2("city") = "City 2"
        DT.Rows.Add(Row2)
        Row3 = DT.NewRow()
        Row3("name") = "Name 3"
        Row3("city") = "City 3"
        DT.Rows.Add(Row3)
        Row4 = DT.NewRow()
        Row4("name") = "Name 4"
        Row4("city") = "City 4"
        DT.Rows.Add(Row4)
        Return DT
     End Function
  </script>

</head> <body>

Databound Control Example

  <form runat="server">
     <asp:table id="MyTable" border="1" cellpadding="5" cellspacing="0" runat="server">
        <asp:tablerow runat="server">
           <asp:tablecell runat="server">
              DataGrid Control:
           </asp:tablecell>
           <asp:tablecell runat="server">
              <asp:datagrid id="MyDataGrid"
                 allowpaging="true"
                 allowsorting="true"
                 alternatingitemstyle-backcolor="LightSkyBlue"
                 backcolor="Blue"
                 forecolor="White"
                 cellpadding="2"
                 cellspacing="0"
                 headerstyle-backcolor="DarkBlue"
                 headerstyle-forecolor="Yellow"
                 pagerstyle-mode="NumericPages"
                 pagesize="5"
                 runat="server"/>
           </asp:tablecell>
        </asp:tablerow>
        <asp:tablerow runat="server">
           <asp:tablecell runat="server">
              DataList Control:
           </asp:tablecell>
           <asp:tablecell runat="server">
              <asp:datalist id="MyDataList"
                 alternatingitemstyle-backcolor="LightSkyBlue"
                 backcolor="Blue"
                 bordercolor="Black"
                 cellpadding="2"
                 cellspacing="0"
                 forecolor="White"
                 headerstyle-backcolor="DarkBlue"
                 headerstyle-forecolor="Yellow"
                 repeatcolumns="1"
                 repeatdirection="vertical"
                 repeatlayout="table" 
                 runat="server">
                 <headertemplate>
                    Composers
                 </headertemplate>
                 <itemtemplate>
                    <%# databinder.eval(container.dataitem, "name") %>
                 </itemtemplate>
              </asp:datalist>
           </asp:tablecell>
        </asp:tablerow>
        <asp:tablerow runat="server">
           <asp:tablecell runat="server">
              Repeater Control:
           </asp:tablecell>
           <asp:tablecell runat="server">
              <asp:repeater id="MyRepeater" runat="server">
                 <headertemplate>
</headertemplate> <itemtemplate> </itemtemplate> <footertemplate>
Name
City
<%# DataBinder.Eval(Container.DataItem, _ "name") %> <%# DataBinder.Eval(Container.DataItem, _ "city") %>
                 </footertemplate>
              </asp:repeater>
           </asp:tablecell>
        </asp:tablerow>
     </asp:table>
  </form>

</body> </html>

      </source>