Form.ControlToPaginate Proprietà

Definizione

Ottiene o imposta il controllo nel form che può essere paginato. Il valore predefinito è null (Nothing in Visual Basic). Questa API è obsoleta. Per informazioni su come sviluppare applicazioni ASP.NET per dispositivi mobili, vedere App per dispositivi mobili & Siti con 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

Valore della proprietà

Controllo nel form che può essere paginato.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare la ControlToPaginate proprietà della Form classe per specificare il controllo da impaginare.

Nell'esempio viene creata una pagina con due moduli. Un modulo ha una stringa molto lunga che in alcuni dispositivi deve essere impaginata per concedere all'utente l'accesso all'intero testo. Per visualizzare l'impaginazione in azione, è necessario visualizzare l'esempio in un dispositivo che gestisce la paginazione. In Visual Studio 2005 è possibile usare uno degli emulatori di dispositivo disponibili con Gestione emulatori di dispositivo dal menu Strumenti .

Nota

L'esempio di codice seguente usa il modello di codice a file singolo e potrebbe non funzionare correttamente se copiato direttamente in un file code-behind. Questo esempio di codice deve essere copiato in un file di testo vuoto con estensione .aspx. Per altre informazioni, vedere ASP.NET Panoramica della sintassi della pagina Web Form.

<%@ 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>

Commenti

La ControlToPaginate proprietà viene utilizzata per consentire a un singolo controllo di un modulo di impaginare il contenuto tra diverse visualizzazioni nei dispositivi mobili e di fornire la navigazione successiva e precedente tra le visualizzazioni. Un controllo può impaginare il contenuto anche se la proprietà Paginate di un controllo contenitore Panel è impostata su false.

Si applica a

Vedi anche