RepeatLayout Enumerazione

Definizione

Specifica il layout degli elementi in un controllo elenco.

public enum class RepeatLayout
public enum RepeatLayout
type RepeatLayout = 
Public Enum RepeatLayout
Ereditarietà
RepeatLayout

Campi

Flow 1

Gli elementi sono visualizzati senza una struttura tabellare. Il markup di cui è stato eseguito il rendering è costituito da un elemento span e gli elementi vengono separati dagli elementi br.

OrderedList 3

Gli elementi sono visualizzati senza una struttura tabellare. Il markup di cui è stato eseguito il rendering è costituito da un elemento ol che contiene gli elementi li.
Questo valore è una novità a partire da ASP.NET 4 ed è un'opzione valida solo per i controlli CheckBoxList e RadioButtonList.

Table 0

Gli elementi sono visualizzati in una tabella.
Con questa opzione il controllo esegue il rendering di HTML che potrebbe non essere conforme agli standard di accessibilità. Per altre informazioni, vedere Accessibilità in Visual Studio e ASP.NET.

UnorderedList 2

Gli elementi sono visualizzati senza una struttura tabellare. Il markup di cui è stato eseguito il rendering è costituito da un elemento ul che contiene gli elementi li.
Questo campo è una novità a partire da ASP.NET 4 ed è un'opzione valida solo per i controlli CheckBoxList e RadioButtonList.

Esempio

Nell'esempio seguente viene illustrato un controllo elenco il cui layout è definito dal valore di Table enumerazione .


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataList control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
         dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Description for item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
            dr[3] = "Image" + i.ToString() + ".jpg";
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
 
      void Page_Load(Object sender, EventArgs e) 
      {

         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsList.DataSource = CreateDataSource();
            ItemsList.DataBind();
         }

      }
 
      void Button_Click(Object sender, EventArgs e) 
      {
 
         // Set the repeat direction based on the selected value of the
         // DirectionList DropDownList control.
         ItemsList.RepeatDirection = 
             (RepeatDirection)DirectionList.SelectedIndex;

         // Set the repeat layout based on the selected value of the
         // LayoutList DropDownList control.
         ItemsList.RepeatLayout = (RepeatLayout)LayoutList.SelectedIndex;

         // Set the number of columns to display based on the selected
         // value of the ColumnsList DropDownList control.
         ItemsList.RepeatColumns = ColumnsList.SelectedIndex;

         // Show or hide the gridlines based on the value of the
         // ShowBorderCheckBox property. Note that gridlines are displayed
         // only if the RepeatLayout property is set to Table.
         if ((ShowBorderCheckBox.Checked) 
             && (ItemsList.RepeatLayout == RepeatLayout.Table)) 
         {
            ItemsList.BorderWidth = Unit.Pixel(1);
            ItemsList.GridLines = GridLines.Both;
         }    
         else  
         {
            ItemsList.BorderWidth = Unit.Pixel(0);
            ItemsList.GridLines = GridLines.None;
         }
    
      }    
 
   </script>
 
<head runat="server">
    <title>DataList Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Example</h3>
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="0"
           BorderWidth="0"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>
 
      <hr />

      <table cellpadding="5">

         <tr>

            <th>

               Repeat direction:

            </th>

            <th>

               Repeat layout:

            </th>

            <th>

               Repeat columns:

            </th>

            <th>

               <asp:CheckBox id="ShowBorderCheckBox"
                    Text="Show border"
                    Checked="False" 
                    runat="server" />

            </th>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="DirectionList" 
                    runat="server">

                  <asp:ListItem>Horizontal</asp:ListItem>
                  <asp:ListItem Selected="True">Vertical</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="LayoutList" 
                    runat="server">

                  <asp:ListItem Selected="True">Table</asp:ListItem>
                  <asp:ListItem>Flow</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="ColumnsList" 
                    runat="server">

                  <asp:ListItem Selected="True">0</asp:ListItem>
                  <asp:ListItem>1</asp:ListItem>
                  <asp:ListItem>2</asp:ListItem>
                  <asp:ListItem>3</asp:ListItem>
                  <asp:ListItem>4</asp:ListItem>
                  <asp:ListItem>5</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

                

            </td>


         </tr>

      </table>     
         
      <asp:LinkButton id="RefreshButton" 
           Text="Refresh DataList" 
           OnClick="Button_Click" 
           runat="server"/>
 
   </form>
 
</body>
</html>

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataList control.
         Dim dt As DataTable = New DataTable()
         dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
         dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 To 8 

            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Description for item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
            dr(3) = "Image" & i.ToString() & ".jpg"
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' Load sample data only once, when the page is first loaded.
         If Not IsPostBack Then 
     
            ItemsList.DataSource = CreateDataSource()
            ItemsList.DataBind()
         
         End If

      End Sub
 
      Sub Button_Click(sender As Object, e As EventArgs) 
 
         ' Set the repeat direction based on the selected value of the
         ' DirectionList DropDownList control.
         ItemsList.RepeatDirection = _
             CType(DirectionList.SelectedIndex, RepeatDirection)

         ' Set the repeat layout based on the selected value of the
         ' LayoutList DropDownList control.
         ItemsList.RepeatLayout = CType(LayoutList.SelectedIndex, RepeatLayout)

         ' Set the number of columns to display based on the selected
         ' value of the ColumnsList DropDownList control.
         ItemsList.RepeatColumns = ColumnsList.SelectedIndex

         ' Show or hide the gridlines based on the value of the
         ' ShowBorderCheckBox. Note that gridlines are displayed
         ' only if the RepeatLayout property is set to Table.
         If ShowBorderCheckBox.Checked _
             And ItemsList.RepeatLayout = RepeatLayout.Table Then 

            ItemsList.BorderWidth = Unit.Pixel(1)
            ItemsList.GridLines = GridLines.Both
         
         Else  
    
            ItemsList.BorderWidth = Unit.Pixel(0)
            ItemsList.GridLines = GridLines.None
         
         End If
    
      End Sub    
 
   </script>
 
<head runat="server">
    <title>DataList Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Example</h3>
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="0"
           BorderWidth="0"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>
 
      <hr />

      <table cellpadding="5">

         <tr>

            <th>

               Repeat direction:

            </th>

            <th>

               Repeat layout:

            </th>

            <th>

               Repeat columns:

            </th>

            <th>

               <asp:CheckBox id="ShowBorderCheckBox"
                    Text="Show border"
                    Checked="False" 
                    runat="server" />

            </th>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="DirectionList" 
                    runat="server">

                  <asp:ListItem>Horizontal</asp:ListItem>
                  <asp:ListItem Selected="True">Vertical</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="LayoutList" 
                    runat="server">

                  <asp:ListItem Selected="True">Table</asp:ListItem>
                  <asp:ListItem>Flow</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="ColumnsList" 
                    runat="server">

                  <asp:ListItem Selected="True">0</asp:ListItem>
                  <asp:ListItem>1</asp:ListItem>
                  <asp:ListItem>2</asp:ListItem>
                  <asp:ListItem>3</asp:ListItem>
                  <asp:ListItem>4</asp:ListItem>
                  <asp:ListItem>5</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

                

            </td>


         </tr>

      </table>     
         
      <asp:LinkButton id="RefreshButton" 
           Text="Refresh DataList" 
           OnClick="Button_Click" 
           runat="server"/>
 
   </form>
 
</body>
</html>

Nell'esempio seguente viene illustrato il markup di cui viene eseguito il rendering per un CheckBoxList controllo la cui RepeatLayout proprietà è impostata su Flow.

<span id="ctl00_MainContent_CheckBoxList1">  
  <input id="ctl00_MainContent_CheckBoxList1_0" type="checkbox"   
    name="ctl00$MainContent$CheckBoxList1$0" value="Item 1" />  
  <label for="ctl00_MainContent_CheckBoxList1_0">Item 1</label>  
  <br />  
  <input id="ctl00_MainContent_CheckBoxList1_1" type="checkbox"  
    name="ctl00$MainContent$CheckBoxList1$1" value="Item 2"/>  
  <label for="ctl00_MainContent_CheckBoxList1_1">Item 2</label>  
  <br />  
  <input id="ctl00_MainContent_CheckBoxList1_2" type="checkbox"  
    name="ctl00$MainContent$CheckBoxList1$2" value="Item 2" />  
  <label for="ctl00_MainContent_CheckBoxList1_2">Item 2</label>  
</span>  

Nell'esempio seguente viene illustrato il markup di cui viene eseguito il rendering per un CheckBoxList controllo la cui RepeatLayout proprietà è impostata su OrderedList.

<ol id="ctl00_MainContent_CheckBoxList3">  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList3_0" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList3$0" value="Item 1" />  
    <label for="ctl00_MainContent_CheckBoxList3_0">Item 1</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList3_1" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList3$1" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList3_1">Item 2</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList3_2" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList3$2" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList3_2">Item 2</label>  
  </li>  
</ol>  

Nell'esempio seguente viene illustrato il markup di cui viene eseguito il rendering per un CheckBoxList controllo la cui RepeatLayout proprietà è impostata su Table.

<table id="ctl00_MainContent_CheckBoxList2">  
  <tr>  
    <td>  
      <input id="ctl00_MainContent_CheckBoxList2_0" type="checkbox"  
        name="ctl00$MainContent$CheckBoxList2$0" value="Item 1" />  
      <label for="ctl00_MainContent_CheckBoxList2_0">Item 1</label>  
    </td>  
  </tr>  
  <tr>  
    <td>  
      <input id="ctl00_MainContent_CheckBoxList2_1" type="checkbox"  
        name="ctl00$MainContent$CheckBoxList2$1" value="Item 2" />  
      <label for="ctl00_MainContent_CheckBoxList2_1">Item 2</label>  
    </td>  
  </tr>  
  <tr>  
    <td>  
      <input id="ctl00_MainContent_CheckBoxList2_2" type="checkbox"  
        name="ctl00$MainContent$CheckBoxList2$2" value="Item 3" />  
      <label for="ctl00_MainContent_CheckBoxList2_2">Item 3</label>  
    </td>  
  </tr>  
</table>  

Nell'esempio seguente viene illustrato il markup di cui viene eseguito il rendering per un CheckBoxList controllo la cui RepeatLayout proprietà è impostata su UnorderedList.

<ul id="ctl00_MainContent_CheckBoxList4">  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList4_0" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList4$0" value="Item 1" />  
    <label for="ctl00_MainContent_CheckBoxList4_0">Item 1</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList4_1" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList4$1" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList4_1">Item 2</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList4_2" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList4$2" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList4_2">Item 2</label>  
  </li>  
</ul>  

Commenti

L'enumerazione RepeatLayout rappresenta le diverse opzioni di layout per un controllo elenco.

Si applica a

Vedi anche