Collegamento di pagine Web ASP.NET per dispositivi mobili

Aggiornamento: novembre 2007

Se in un controllo contenuto in un controllo utente è presente un collegamento nel formato #form1, il metodo ResolveFormReference ricerca nel controllo utente un form la cui proprietà ID sia impostata su form1. Se il form non viene trovato, il metodo scorre verso l'alto la catena dei controlli utente nidificati, quindi ricerca il form nella pagina. Per collegare un form contenuto in un controllo utente, utilizzare la seguente sintassi per identificare il form.

#mc1:form4

mc1 è l'identificatore del controllo utente. I due punti (:) separano il riferimento al form.

Nota:

Non è disponibile alcun supporto per gli ancoraggi dell'elemento (URL con formato page.aspx#element, dove page non è la pagina corrente).

Esempio

Nell'esempio di codice riportato di seguito viene descritto lo spostamento tra i form. Nell'esempio sono contenuti una pagina Web per dispositivi mobili e un controllo utente 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 >
void Form_Activate(Object sender, EventArgs e)
{
    ((Form)sender).DataBind();
}
</script>

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

  <mobile:Form ID="Form2" Runat="server" 
      OnActivate="Form_Activate">
    <mobile:Label ID="Label2"  
        Text='<%# "Current: " + ActiveForm.UniqueID %>' />
    <mobile:Link ID="Link4" href="#form1" 
        >Go to Form 1</mobile:Link>
    <mobile:Link ID="Link5" href="#form3" 
        >Go to Form 3</mobile:Link>
    <mobile:Link ID="Link6" href="#mc1:form4" 
        >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" href="#form1"
        Runat="server" >Go to Form 1</mobile:Link>
    <mobile:Link ID="Link8" href="#form2"
        Runat="server" >Go to Form 2</mobile:Link>
    <mobile:Link ID="Link9" href="#mc1:form4"
        Runat="server" >Go to Form 4</mobile:Link>
  </mobile:Form>

  <uc1:MobileWebUserControl1 id="mc1"  />
</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 >
void Form_Activate(Object sender, EventArgs e)
{
    ((Form)sender).DataBind();
}
</script>

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

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

Vedere anche

Riferimenti

AddLinkedForms

ResolveFormReference

Altre risorse

Sviluppo di pagine Web ASP.NET per dispositivi mobili

Guida per gli sviluppatori di applicazioni