Zoeken…


Syntaxis

  • <asp: TextBox runat = "server" ID = "" TextMode = "" Text = "" />
  • <asp: Repeater runat = "server" ID = "" OnItemDataBound = "">
    <HeaderTemplate></HeaderTemplate>
    <ItemTemplate></ItemTemplate>
    <FooterTemplate></FooterTemplate>
    </asp:Repeater>

Opmerkingen

Alle ASP.Net WebForm-besturingselementen vereisen runat="server" om te communiceren met CodeBehind.

Een repeater gebruiken om een HTML-tabel te maken

Wanneer de repeater gebonden is, wordt voor elk item in de gegevens een nieuwe tabelrij toegevoegd.

<asp:Repeater ID="repeaterID" runat="server" OnItemDataBound="repeaterID_ItemDataBound">
    <HeaderTemplate>
        <table>
            <thead>
                <tr>
                    <th style="width: 10%">Column 1 Header</th>
                    <th style="width: 30%">Column 2 Header</th>
                    <th style="width: 30%">Column 3 Header</th>
                    <th style="width: 30%">Column 4 Header</th>
                </tr>
            </thead>
    </HeaderTemplate>
    <ItemTemplate>
        <tr runat="server" id="rowID">
            <td>
                <asp:Label runat="server" ID="mylabel">You can add ASP labels if you want</asp:Label>
            </td>
            <td>
                <label>Or you can add HTML labels.</label>
            </td>
            <td>
                You can also just type plain text like this.
            </td>
            <td>
                <button type="button">You can even add a button to the table if you want!</button>
            </td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

De ItemDataBound methode is optioneel, maar toch handig voor het formatteren of ItemDataBound meer gecompliceerde gegevens. In dit voorbeeld wordt de methode gebruikt om elke <tr> dynamisch een uniek ID te geven. Deze ID kan vervolgens in JavaScript worden gebruikt om een specifieke rij te openen of te wijzigen. Let op, de tr zal zijn dynamische ID-waarde niet behouden op PostBack. De tekst van het <asp:Label> van elke rij was ook ingesteld in deze methode.

protected void repeaterID_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        MyItem item = (MyItem)e.Item.DataItem;

        var row = e.Item.FindControl("rowID");
        row.ClientIDMode = ClientIDMode.Static;
        row.ID = "rowID" + item.ID;

        Label mylabel = (Label)e.Item.FindControl("mylabel");
        mylabel.Text = "The item ID is: " + item.ID;
    }
}

Als u van plan bent om veel met de CodeBehind te communiceren, kunt u overwegen om GridView te gebruiken. Repeaters hebben echter over het algemeen minder overhead dan GridView en kunnen met basis-ID-manipulatie dezelfde functies uitvoeren als GridView.

Groeperen in lijstweergave

asp:ListView geïntroduceerd in ASP.NET WebForms framework 3.5 is de meest flexibele van alle DataPresentation Controls in het framework. Een voorbeeld van groeperen met behulp van ListView (handig als afbeeldingengalerij)

Doel : drie afbeeldingen op een rij weergeven met asp:ListView

markup

<asp:ListView ID="SportsImageList" runat="server"
    GroupItemCount="3">
    <LayoutTemplate>
        <span class="images-list">
            <ul id="groupPlaceholder" runat="server"></ul>
        </span>
    </LayoutTemplate>
    <GroupTemplate>
        <ul>
            <li id="itemPlaceholder" runat="server"></li>
        </ul>
    </GroupTemplate>
    <ItemTemplate>
        <li>
            <img src='<%# Container.DataItem %>' />
        </li>
    </ItemTemplate>
</asp:ListView>

Code achter

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        SportsImageList.DataSource = GetImages();
        SportsImageList.DataBind();
    }
}

private static IEnumerable<string> GetImages()
{
    var images = Enumerable.Range(1, 9) //get numbers 1 to 9
        .Select(i =>
            string.Format("http://lorempixel.com/100/100/sports/{0}/", i)
        ); //convert the numbers to string
    return images;
}

CSS

.images-list ul{
    clear: both;
    list-style-type: none;
}
.images-list ul li{
    float: left;
    padding: 5px;
}

Gesmolten uitvoer

Sport afbeeldingen galerij

Voorbeeld

<script language="VB" runat="server">

    Sub SubmitBtn_Click(sender As Object, e As EventArgs)
        Label1.Text = "Text1.Text = " & Text1.Text
    End Sub

</script>
<h3><font face="Verdana">TextBox Sample</font></h3>

<form runat="server">

  <asp:TextBox id="Text1" Text="Copy this text to the label" Width="200px" runat="server"/>

  <asp:Button OnClick="SubmitBtn_Click" Text="Copy Text to Label" Runat="server"/>

  <p>
  
  <asp:Label id="Label1" Text="Label1" runat="server"/>

</form>

Het besturingselement HyperLink wordt gebruikt om van de client naar een andere pagina te navigeren.

<html>

<script language="VB" runat="server">


   Sub Page_Load(sender As Object, e As EventArgs) 
      ' Set hyperlink to "~", which indicates application root.
      HyperLink1.NavigateUrl = "~"
   End Sub

</script>

<body>

    <h3><font face="Verdana">Simple asp:hyperlink Sample</font></h3>

    <form runat=server>

        <p>

        <asp:hyperlink id=HyperLink1 runat="server">
            Go To QuickStart
        </asp:hyperlink>

    </form>

</body>

</html>


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow