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