Partager via


Liaison entre des pages Web mobiles ASP.NET

Si une liaison existe dans le format #form1 dans un contrôle contenu dans un contrôle utilisateur, la méthode ResolveFormReference recherche dans le contrôle utilisateur un formulaire dont la propriété ID a la valeur form1. Si le formulaire est introuvable, la méthode remonte la chaîne des contrôles utilisateur imbriqués, puis cherche le formulaire sur la page. Si vous souhaitez lier un formulaire contenu dans un contrôle utilisateur, utilisez la syntaxe ci-dessous pour identifier le formulaire.

#mc1:form4

mc1 représente l'identificateur du contrôle utilisateur. Le signe deux-points (:) sépare la référence au formulaire.

Notes

Les ancres des éléments ne sont pas prises en charge (URL sous la forme page.aspx#element, où page n'est pas la page active).

Exemple

L'exemple de code suivant décrit la navigation entre les formulaires. L'exemple contient une page Web mobile et un contrôle utilisateur mobile.

Formtest.aspx

<%@ Page Language="C#" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>
<%@ Register TagPrefix="uc1" TagName="MobileWebUserControl1" 
    Src="formtest.ascx" %>
<script runat="server">
void Form_Activate(Object sender, EventArgs e)
{
    ((Form)sender).DataBind();
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
  <mobile:form id="Form1" runat="server" 
    OnActivate="Form_Activate">
    <mobile:Label ID="Label1" runat="server" 
        Text='<%# "Current: " + ActiveForm.UniqueID %>' />
    <mobile:Link ID="Link1" NavigateUrl="#form2" 
        runat="server">Go to Form 2</mobile:Link>
    <mobile:Link ID="Link2" NavigateUrl="#form3" 
        runat="server">Go to Form 3</mobile:Link>
    <mobile:Link ID="Link3" NavigateUrl="#mc1:form4" 
        runat="server">Go to Form 4</mobile:Link>
   /mobile:form>

  <mobile:Form ID="Form2" Runat="server" 
      OnActivate="Form_Activate">
    <mobile:Label ID="Label2" runat="server" 
        Text='<%# "Current: " + ActiveForm.UniqueID %>' />
    <mobile:Link ID="Link4" NavigateUrl="#form1" 
        runat="server">Go to Form 1</mobile:Link>
    <mobile:Link ID="Link5" NavigateUrl="#form3" 
        runat="server">Go to Form 3</mobile:Link>
    <mobile:Link ID="Link6" NavigateUrl="#mc1:form4" 
        runat="server">Go to Form 4</mobile:Link>
  </mobile:Form>

  <mobile:Form ID="Form3" Runat="server" 
      OnActivate="Form_Activate">
    <mobile:Label ID="Label3" Runat="server" 
        Text='<%# "Current: " + ActiveForm.UniqueID %>'>
    </mobile:Label>
    <mobile:Link ID="Link7" NavigateUrl="#form1"
        Runat="server" >Go to Form 1</mobile:Link>
    <mobile:Link ID="Link8" NavigateUrl="#form2"
        Runat="server" >Go to Form 2</mobile:Link>
    <mobile:Link ID="Link9" NavigateUrl="#mc1:form4"
        Runat="server" >Go to Form 4</mobile:Link>
  </mobile:Form>

  <uc1:MobileWebUserControl1 id="mc1" runat="server" />
</body>
</html>

Formtest.ascx

<%@ Control Language="C#" ClassName="FormTest" 
    Inherits="System.Web.UI.MobileControls.MobileUserControl" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>

<script runat="server">
void Form_Activate(Object sender, EventArgs e)
{
    ((Form)sender).DataBind();
}
</script>

<mobile:Form ID="Form4" Runat="server" OnActivate="Form_Activate">
  <mobile:Label ID="Label1" runat="server" 
      Text='<%# "Current: " + 
        ((MobilePage)Page).ActiveForm.UniqueID %>' />
  <mobile:Link ID="Link1" NavigateUrl="#form1" 
      runat="server">Go to Form 1</mobile:Link>
  <mobile:Link ID="Link2" NavigateUrl="#form2" 
      runat="server">Go to Form 2</mobile:Link>
  <mobile:Link ID="Link3" NavigateUrl="#form3" 
      runat="server">Go to Form 3</mobile:Link>
  <mobile:Link ID="Link4" NavigateUrl="#form4a" 
      runat="server">Go to Form 4a</mobile:Link>
</mobile:Form>

<mobile:Form ID="Form4a" Runat="server" OnActivate="Form_Activate">
  <mobile:Label ID="Label" runat="server" 
      Text='<%# "Current: " + 
        ((MobilePage)Page).ActiveForm.UniqueID %>' />
  <mobile:Link ID="Link5" NavigateUrl="#form1" 
      runat="server">Go to Form 1</mobile:Link>
  <mobile:Link ID="Link6" NavigateUrl="#form2" 
      runat="server">Go to Form 2</mobile:Link>
  <mobile:Link ID="Link7" NavigateUrl="#form3" 
       runat="server">Go to Form 3</mobile:Link>
  <mobile:Link ID="Link8" NavigateUrl="#form4" 
      runat="server">Go to Form 4</mobile:Link>
</mobile:Form>

Voir aussi

Référence

AddLinkedForms
ResolveFormReference

Autres ressources

Développement de pages Web mobiles de l'ASP.NET
Guide du développeur d'applications