Form.ControlToPaginate Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia kontrolkę w formularzu, który może być podzielony na strony. Wartość domyślna to null
(Nothing
w Visual Basic). Ten interfejs API jest nieaktualny. Aby uzyskać informacje na temat tworzenia ASP.NET aplikacji mobilnych, zobacz Mobile Apps & Sites with ASP.NET (Aplikacje mobilne & Sites with 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
Wartość właściwości
Kontrolka w formularzu, który może być podzielony na strony.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą ControlToPaginate właściwości Form klasy określić, która kontrolka ma być stronicowa.
W przykładzie zostanie utworzona strona z dwoma formularzami. Jeden formularz ma bardzo długi ciąg, który na niektórych urządzeniach musi być podzielony na strony, aby umożliwić użytkownikowi dostęp do całego tekstu. Aby zobaczyć działanie stronicowania, należy wyświetlić przykład na urządzeniu, które obsługuje stronicowanie. W programie Visual Studio 2005 możesz użyć jednego z emulatorów urządzeń dostępnych w Menedżerze emulatora urządzeń w menu Narzędzia .
Uwaga
Poniższy przykład kodu używa modelu kodu z jednym plikiem i może nie działać poprawnie, jeśli skopiowano bezpośrednio do pliku za pomocą kodu. Ten przykładowy kod musi zostać skopiowany do pustego pliku tekstowego z rozszerzeniem .aspx. Aby uzyskać więcej informacji, zobacz omówienie składni stron ASP.NET Web Forms.
<%@ 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>
Uwagi
Właściwość ControlToPaginate służy do umożliwienia pojedynczej kontrolki w formularzu dzielenia zawartości na kilka widoków na urządzenia przenośne i udostępnianie następnej i poprzedniej nawigacji między widokami. Kontrolka może stronicować jego zawartość, nawet jeśli kontrolka zawierająca Panel ma właściwość Paginate ustawioną na wartość false
.