ASP.NET モバイル Web ページ間のリンク
更新 : 2007 年 11 月
ユーザー コントロールに含まれるコントロールに #form1 形式のリンクがある場合、ResolveFormReference メソッドは、ID プロパティが form1 に設定されたフォームをユーザー コントロール内で検索します。フォームが見つからなかった場合、メソッドは入れ子になったユーザー コントロール チェーンの上位を検索し、次にそのページ上のフォームを検索します。ユーザー コントロールに含まれるフォームをリンクするには、次の構文を使用してフォームを特定します。
#mc1:form4
mc1 はユーザー コントロールの識別子です。コロン (:) は、フォームへの参照を分離します。
メモ : |
---|
要素アンカーはサポートされていません (page.aspx#element 形式の URL で、page が現在のページではない場合)。 |
例
次のコード例は、フォーム間の移動を示しています。この例には、モバイル Web ページとモバイル ユーザー コントロールが含まれています。
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" href="#form2"
runat="server">Go to Form 2</mobile:Link>
<mobile:Link ID="Link2" href="#form3"
runat="server">Go to Form 3</mobile:Link>
<mobile:Link ID="Link3" href="#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" href="#form1"
runat="server">Go to Form 1</mobile:Link>
<mobile:Link ID="Link5" href="#form3"
runat="server">Go to Form 3</mobile:Link>
<mobile:Link ID="Link6" href="#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" 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" 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" href="#form1"
runat="server">Go to Form 1</mobile:Link>
<mobile:Link ID="Link2" href="#form2"
runat="server">Go to Form 2</mobile:Link>
<mobile:Link ID="Link3" href="#form3"
runat="server">Go to Form 3</mobile:Link>
<mobile:Link ID="Link4" href="#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" href="#form1"
runat="server">Go to Form 1</mobile:Link>
<mobile:Link ID="Link6" href="#form2"
runat="server">Go to Form 2</mobile:Link>
<mobile:Link ID="Link7" href="#form3"
runat="server">Go to Form 3</mobile:Link>
<mobile:Link ID="Link8" href="#form4"
runat="server">Go to Form 4</mobile:Link>
</mobile:Form>