Form.ControlToPaginate Propriété

Définition

Obtient ou définit le contrôle sur le formulaire qui peut être paginé. La valeur par défaut est null (Nothing en Visual Basic). Cette API est obsolète. Pour plus d’informations sur le développement d’applications mobiles ASP.NET, consultez Mobile Apps & Sites avec ASP.NET.

public:
 property System::Web::UI::Control ^ ControlToPaginate { System::Web::UI::Control ^ get(); void set(System::Web::UI::Control ^ value); };
[System.ComponentModel.Bindable(false)]
[System.ComponentModel.Browsable(false)]
public System.Web.UI.Control ControlToPaginate { get; set; }
[<System.ComponentModel.Bindable(false)>]
[<System.ComponentModel.Browsable(false)>]
member this.ControlToPaginate : System.Web.UI.Control with get, set
Public Property ControlToPaginate As Control

Valeur de propriété

Contrôle sur le formulaire qui peut être paginé.

Attributs

Exemples

L’exemple de code suivant montre comment utiliser la ControlToPaginate propriété de la Form classe pour spécifier le contrôle à paginer.

L’exemple crée une page avec deux formulaires. Un formulaire a une chaîne très longue qui, sur certains appareils, doit être paginé pour permettre à l’utilisateur d’accéder au texte entier. Pour voir la pagination en action, vous devez afficher l’exemple sur un appareil qui gère la pagination. Dans Visual Studio 2005, vous pouvez utiliser l’un des émulateurs d’appareil disponibles avec le Gestionnaire d’émulateur d’appareil dans le menu Outils .

Notes

L’exemple de code suivant utilise le modèle de code à fichier unique et peut ne pas fonctionner correctement s’il est copié directement dans un fichier code-behind. Cet exemple de code doit être copié dans un fichier texte vide qui a une extension .aspx. Pour plus d’informations, consultez ASP.NET Web Forms Vue d’ensemble de la syntaxe de page.

<%@ Page Language="C#" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Web.UI.MobileControls" %>
<%@ Import Namespace="System.Drawing" %>

<script Runat="server">
    //<Snippet7>
    void Form_Activate(object sender, EventArgs e)
    {
        Form1.Wrapping = Wrapping.NoWrap;
        string a = "This is a very long string <br />";
        string b = "START ";
        
        // Create a long string to force pagination
        for (int i = 0; i < 100; i++)
            b += a;
        
        txtView.Text = b + " END";
        Form1.ControlToPaginate = txtView;
    }
    //</Snippet7>

    //<Snippet5>
    void Form_Paginated(object sender, EventArgs e)
    {
        // Set the background color based on 
        // the number of pages
        if (ActiveForm.PageCount > 1)
            ActiveForm.BackColor = Color.LightBlue;
        else
            ActiveForm.BackColor = Color.LightGray;

        // Check to see if the Footer template has been chosen
        if (DevSpec.HasTemplates)
        {   
            System.Web.UI.MobileControls.Label lbl = null;
            
            // Get the Footer panel
            System.Web.UI.MobileControls.Panel pan = Form1.Footer;

            // Get the Label from the panel
            lbl = (System.Web.UI.MobileControls.Label)pan.FindControl("lblCount");
            // Set the text in the Label
            lbl.Text = "Page #" + Form1.CurrentPage.ToString();
        }
    }
    //</Snippet5>

    //<Snippet6>
    void Page_Load(object sender, EventArgs e)
    {
        // Set the pager text properties
        if (!IsPostBack)
            Form1.PagerStyle.NextPageText = "Go Next >";
        else
        {
            // For postback, set different text
            Form1.PagerStyle.NextPageText = "Go More >";
            Form1.PagerStyle.PreviousPageText = "< Go Prev";
        }
    }
    //</Snippet6>
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<!-- The first Form -->
    <mobile:Form ID="Form1" Runat="server" 
        Paginate="true" OnActivate="Form_Activate" 
        OnPaginated="Form_Paginated">
        <mobile:link ID="Link1" Runat="server" 
            NavigateUrl="#Form2">
            Go To Other Form
        </mobile:link>
        <mobile:Label ID="Label1" Runat="server">
            Welcome to ASP.NET
        </mobile:Label>
        <mobile:textview ID="txtView" Runat="server" />

        <mobile:DeviceSpecific ID="DevSpec" Runat="server">
            <Choice>
                <FooterTemplate>
                    <mobile:Label runat="server" id="lblCount" />
                </FooterTemplate>
            </Choice>
        </mobile:DeviceSpecific>
    </mobile:Form>
    
    <!-- The second Form -->
    <mobile:Form ID="Form2" Runat="server" 
        Paginate="true" OnPaginated="Form_Paginated">
        <mobile:Label ID="message2" Runat="server">
            Welcome to ASP.NET
        </mobile:Label>
        <mobile:link ID="Link2" Runat="server" 
            NavigateUrl="#Form1">Back</mobile:link>
    </mobile:Form>
</body>
</html>
<%@ Page Language="VB" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Web.UI.MobileControls" %>
<%@ Import Namespace="System.Drawing" %>

<script runat="server">
    '<Snippet7>
    Private Sub Form_Activate(ByVal sender As Object, _
        ByVal e As EventArgs)
        
        Form1.Wrapping = Wrapping.NoWrap
        Dim a As String = "This is a very long string <br />"
        Dim b As String = "START "
        Dim i As Integer
        
        ' Create a long string to force pagination
        For i = 0 To 100
            b &= a
        Next
        
        txtView.Text = b & " END"
        Form1.ControlToPaginate = txtView
    End Sub
    '</Snippet7>

    '<Snippet5>
    Private Sub Form_Paginated(ByVal sender As Object, _
        ByVal e As EventArgs)
        
        ' Set the background color based on 
        ' the number of pages
        If ActiveForm.PageCount > 1 Then
            ActiveForm.BackColor = Color.LightBlue
        Else
            ActiveForm.BackColor = Color.LightGray
        End If
        
        ' Check to see if the Footer template has been chosen
        If DevSpec.HasTemplates Then
            Dim lbl As System.Web.UI.MobileControls.Label
            
            ' Get the Footer panel
            Dim pan As System.Web.UI.MobileControls.Panel = Form1.Footer

            ' Get the Label from the panel
            lbl = CType(pan.FindControl("lblCount"), System.Web.UI.MobileControls.Label)
            ' Set the text in the Label
            lbl.Text = "Page #" + Form1.CurrentPage.ToString()
        End If
    End Sub
    '</Snippet5>

    '<Snippet6>
    Private Sub Page_Load(ByVal sender As Object, _
        ByVal e As EventArgs)
        
        ' Set the pager text properties
        If Not IsPostBack Then
            Form1.PagerStyle.NextPageText = "Go Next >"
        Else
            ' For postback, set different text
            Form1.PagerStyle.NextPageText = "Go More >"
            Form1.PagerStyle.PreviousPageText = "< Go Prev"
        End If
    End Sub
    '</Snippet6>
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<!-- The first Form -->
    <mobile:Form ID="Form1" Runat="server" 
        Paginate="true" OnActivate="Form_Activate" 
        OnPaginated="Form_Paginated">
        <mobile:link ID="Link1" Runat="server" 
            NavigateUrl="#Form2">
            Go To Other Form
        </mobile:link>
        <mobile:Label ID="Label1" Runat="server">
            Welcome to ASP.NET
        </mobile:Label>
        <mobile:textview ID="txtView" Runat="server" />
        
        <mobile:DeviceSpecific ID="DevSpec" Runat="server">
            <Choice>
                <FooterTemplate>
                    <mobile:Label runat="server" id="lblCount" />
                </FooterTemplate>
            </Choice>
        </mobile:DeviceSpecific>

    </mobile:Form>
    
    <!-- The second Form -->
    <mobile:Form ID="Form2" Runat="server" 
        Paginate="true" OnPaginated="Form_Paginated">
        <mobile:Label ID="message2" Runat="server">
            Welcome to ASP.NET
        </mobile:Label>
        <mobile:link ID="Link2" Runat="server" 
            NavigateUrl="#Form1">Back</mobile:link>
    </mobile:Form>
</body>
</html>

Remarques

La ControlToPaginate propriété est utilisée pour permettre à un seul contrôle d’un formulaire de paginer son contenu sur plusieurs vues sur des appareils mobiles et de fournir une navigation suivante et précédente entre les vues. Un contrôle peut paginer son contenu même si sa PanelPaginate propriété est définie sur false.

S’applique à

Voir aussi