かんたんASP.NET - リスト

第5章 Webサイトのナビゲーション


リスト 5-1 Response.Redirectメソッドの記述

Response.Redirect("Destination.aspx")
Response.Redirect("Destination.aspx");

↑Top


リスト 5-2 HyperLinkコントロールの記述

<asp:HyperLink ID="コントロールID" runat="server" 
  NavigateUrl="移動先ページURL">ハイパーリンクのテキスト</asp:HyperLink>

↑Top


リスト 5-3 別ウィンドウでページ移動を行う場合の記述

<asp:HyperLink ID="コントロールID" runat="server" 
  NavigateUrl="移動先ページURL"
  Target="_blank">ハイパーリンクのテキスト</asp:HyperLink>

↑Top


リスト 5-4 HyperLinkコントロールのサンプル (移動元:Default.aspx)

<% @ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>移動元ページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    <asp:HyperLink ID="SameWindowHyperLink" runat="server"
      NavigateUrl="~/Destination.aspx">
      同一ウィンドウ</asp:HyperLink>
    <br />
    <a sp:HyperLink ID="OtherWindowHyperLink"
      runat="server"
      NavigateUrl="~/Destination.aspx"
      Target="_blank">別ウィンドウ</asp:HyperLink>
  </div>
  </form>
</body>
</html>

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>移動元ページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    <asp:HyperLink ID="SameWindowHyperLink" runat="server"
      NavigateUrl="~/Destination.aspx">
      同一ウィンドウ</asp:HyperLink>
    <br />
    <a sp:HyperLink ID="OtherWindowHyperLink"
      runat="server"
      NavigateUrl="~/Destination.aspx"
      Target="_blank">別ウィンドウ</asp:HyperLink>
  </div>
  </form>
</body>
</html>

↑Top


リスト 5-5 HyperLinkコントロールのサンプル (移動先:Destination.aspx)

<% @ Page Language="VB" AutoEventWireup="false" CodeFile="Destination.aspx.vb" Inherits="Destination" %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>移動先ページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    移動先ページ
  </div>
  </form>
</body>
</html>

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Destination.aspx.cs" Inherits="Destination" %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>移動先ページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    移動先ページ
  </div>
  </form>
</body>
</html>

↑Top


リスト 5-6 Server.Transferメソッドの記述

Server.Transfer("Destination.aspx")
Server.Transfer("Destination.aspx");

↑Top


リスト 5-7 Web.sitemapのサンプル

<?xml version="1.0" encoding="utf-8" ?>
<sitemap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="Default.aspx" title="Home"
    description="Home">
    <siteMapNode url="WebPage1.aspx" title="Webページ1"
      description="サンプル1">
      <siteMapNode url="WebPage1_1.aspx"
        title="Webページ1-1" description="サンプル1-1" />
    </siteMapNode>
    <siteMapNode url="WebPage2.aspx" title="Webページ2"
      description="サンプル2" />
  </siteMapNode>
</siteMap>

↑Top


リスト 5-8 Sessionの使用方法

' 値の設定
Session("名前") = "値"

' 値の取得
Dim value As Object = Session("名前")
Dim realValue As String
If value IsNot Nothing Then
  realValue = DirectCast(value, String)
Else
  realValue = String.Empty
End If

// 値の設定
Session["名前"] = "値";

// 値の取得
Object value = Session["値"];
string realValue;
if (value != null)
{
  realValue = (string)value;
}
else
{
  realValue = String.Empty;
}

↑Top


リスト 5-9 QueryStringの使用方法

Dim value As String
If Request.QueryString("key") IsNot Nothing Then
  value = Request.QueryString("key")
End If

string value;
if (Request.QueryString["key"] != null)
{
  value = Request.QueryString["key"];
}

↑Top


リスト 5-10 ViewStateの実体 (表示されたWebページのソースから抜粋)

  <form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" 
  value="/wEPDwUKMTkwNjc4NTIwMWRkTkzyXQrtmIUhpqdHfQy5p53nnQc=" />
</div>
 ~
  </form>

↑Top


リスト 5-11 ViewStateの使用方法

' 値の設定
ViewState("名前") = "値"

' 値の取得
Dim value As Object = ViewState("名前")
Dim realValue As String
If value IsNot Nothing Then
  realValue = DirectCast(value, String)
Else
  realValue = String.Empty
End If

// 値の設定
ViewState["名前"] = "値";

// 値の取得
Object value = ViewState["値"];
string realValue;
if (value != null)
{
  realValue = (string)value;
}
else
{
  realValue = String.Empty;
}

↑Top


リスト 5-12 Cookieの使用方法

' 値の設定
Response.Cookies("名前").Value = "値"
' 値の取得
Dim myCookie As HttpCookie = Request.Cookies("名前")
Dim realValue As String
If myCookie IsNot Nothing Then
  realValue = myCookie.Value
Else
  realValue = String.Empty
End If

// 値の設定
Response.Cookies["名前"].Value = "値";

// 値の取得
HttpCookie myCookie = Request.Cookies["名前"];
string realValue;
if (myCookie != null)
{
  realValue = (string)myCookie.Value;
}
else
{
  realValue = String.Empty;
}

↑Top


リスト 5-13 Web.sitemapファイル

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="~/Menu.aspx" title="メニュー">
    <siteMapNode url="~/Redirect/Source.aspx" title="Response.Redirect" />
    <siteMapNode url="~/Transfer/Source.aspx" title="Server.Transfer" />
  </siteMapNode>
</siteMap>

↑Top


リスト 5-14 Default.aspxファイル

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>トップページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    <h3><asp:Label ID="CountLabel" runat="server">
    </asp:Label></h3>
    <hr />
    <h4><asp:Label ID="NameLabel" runat="server"
      Text="名前を入力してボタンをクリックしてください">
    </asp:Label></h4>
    <asp:TextBox ID="NameTextBox" runat="server">
    </asp:TextBox>
    <asp:Button ID="RedirectButton" runat="server"
      Text="クリック" />
    <asp:RequiredFieldValidator
      ID="NameRequiredFieldValidator" runat="server"
      ControlToValidate="NameTextBox"
      ErrorMessage="名前を入力してください">
    </asp:RequiredFieldValidator>
  </div>
  </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    <h3>
      <asp:Label ID="CountLabel" runat="server">
      </asp:Label></h3>
    <hr />
    <h4>
      <asp:Label ID="NameLabel" runat="server"
        Text="名前を入力してボタンをクリックしてください">
      </asp:Label></h4>
    <asp:TextBox ID="NameTextBox" runat="server">
    </asp:TextBox>
    <asp:Button ID="RedirectButton" runat="server"
      Text="クリック" onclick="RedirectButton_Click" />
    <asp:RequiredFieldValidator ID="NameRequiredFieldValidator" runat="server"
      ControlToValidate="NameTextBox"
      ErrorMessage="名前を入力してください">
    </asp:RequiredFieldValidator>
  </div>
  </form>
</body>
</html>

↑Top


リスト 5-15 Default.aspx.vbファイル

Partial Class _Default
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
      ' PostBack以外
      ' 訪問回数をCookieから取得
      Dim cookie As HttpCookie = Request.Cookies("Count")
      Dim count As Integer
      If cookie Is Nothing Then
        count = 0
      Else
        count = Int32.Parse(cookie.Value)
      End If
      ' 訪問回数をカウントアップ
      count += 1
      ' 訪問回数をラベルに表示
      CountLabel.Text = String.Format("{0} 回目の訪問です", count)
      ' 訪問回数をCookieに保存
      Response.Cookies("Count").Value = count.ToString()
    End If
  End Sub

  Protected Sub RedirectButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RedirectButton.Click
    ' 入力された名前をSessionに保存
    Session("name") = NameTextBox.Text
    ' メニューページに移動
    Response.Redirect("~/Menu.aspx")
  End Sub
End Class

using System;
using System.Web;
using System.Web.UI;

public partial class _Default : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    if (!Page.IsPostBack)
    {
      // PostBack以外
      // 訪問回数をCookieから取得
      HttpCookie cookie = Request.Cookies["Count"];
      int count;
      if (cookie == null)
      {
        count = 0;
      }
      else
      {
        count = Int32.Parse(cookie.Value);
      }
      // 訪問回数をカウントアップ
      count++;
      // 訪問回数をラベルに表示
      CountLabel.Text = String.Format("{0} 回目の訪問です", count);
      // 訪問回数をCookieに保存
      Response.Cookies["Count"].Value = count.ToString();
    }
  }

  protected void RedirectButton_Click(object sender, EventArgs e)
  {
    // 入力された名前をSessionに保存
    Session["name"] = NameTextBox.Text;
    // メニューページに移動
    Response.Redirect("/Menu.aspx");
  }
}

↑Top


リスト 5-16 Menu.aspxファイル

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Menu.aspx.vb" Inherits="Menu" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>メニューページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server">
    </asp:Label></h3>
  <hr />
  <div>
    <asp:TreeView ID="Menu1" runat="server"
      DataSourceID="SiteMapDataSource1">
    </asp:TreeView>
  </div>
  <hr />
  <asp:HyperLink ID="TopHyperLink" runat="server"
    NavigateUrl="~/Default.aspx">Top</asp:HyperLink>
  <asp:SiteMapDataSource ID="SiteMapDataSource1"
    runat="server" />
  </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Menu.aspx.cs" Inherits="Menu" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>メニューページ</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server">
    </asp:Label></h3>
  <hr />
  <div>
    <asp:TreeView ID="Menu1" runat="server"
      DataSourceID="SiteMapDataSource1">
    </asp:TreeView>
  </div>
  <hr />
  <asp:HyperLink ID="TopHyperLink" runat="server"
    NavigateUrl="~/Default.aspx">Top</asp:HyperLink>
  <asp:SiteMapDataSource ID="SiteMapDataSource1"
      runat="server" />
  </form>
</body>
</html>

↑Top


リスト 5-17 Menu.aspx.vbファイル

Partial Class Menu
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' トップページで入力された名前を表示
    NameLabel.Text = DirectCast(Session("Name"), String)
  End Sub
End Class

using System;

public partial class Menu : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // トップページで入力された名前を表示
    NameLabel.Text = (string)Session["Name"];
  }
}

↑Top


リスト 5-18 Redirect/Source.aspxファイル

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Source.aspx.vb" Inherits="Redirect_Source" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Redirect-遷移元</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server"></asp:Label>
  </h3>
  <hr />
  <asp:SiteMapPath ID="SiteMapPath1" runat="server">
  </asp:SiteMapPath>
  <hr />
  <div>
    <h4>
      <asp:Label ID="ParameterLabel" runat="server"
        Text="値を入力してボタンをクリックしてください"></asp:Label>
    </h4>
    <asp:TextBox ID="ParameterTextBox"
      runat="server"></asp:TextBox>
    <asp:Button ID="RedirectButton" runat="server"
      Text="Redirect" />
  </div>
  </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Source.aspx.cs" Inherits="Redirect_Source" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Redirect-遷移元</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server"></asp:Label>
  </h3>
  <hr />
  <asp:SiteMapPath ID="SiteMapPath1" runat="server">
  </asp:SiteMapPath>
  <hr />
  <div>
    <h4>
      <asp:Label ID="ParameterLabel" runat="server"
        Text="値を入力してボタンをクリックしてください"></asp:Label>
    </h4>
    <asp:TextBox ID="ParameterTextBox"
      runat="server"></asp:TextBox>
    <asp:Button ID="RedirectButton" runat="server"
      Text="Redirect" onclick="RedirectButton_Click" />
  </div>
  </form>
</body>
</html>

↑Top


リスト 5-19 Redirect/Source.aspx.vbファイル

Partial Class Redirect_Source
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' トップページで入力された名前を表示
    NameLabel.Text = DirectCast(Session("Name"), String)
  End Sub

  Protected Sub RedirectButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RedirectButton.Click
    ' 入力された値をQueryStringに設定し、ページ遷移
    Dim url As String = String.Format("./Destination.aspx?value={0}", ParameterTextBox.Text)
    Response.Redirect(url)
  End Sub
End Class

using System;

public partial class Redirect_Source : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // トップページで入力された名前を表示
    NameLabel.Text = (string)Session["Name"];
  }

  protected void RedirectButton_Click(object sender, EventArgs e)
  {
    // 入力された値をQueryStringに設定し、ページ遷移
    string url = String.Format("./Destination.aspx?value={0}", ParameterTextBox.Text);
    Response.Redirect(url);
  }
}

↑Top


リスト5-20 Redirect/Destination.aspxファイル

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Destination.aspx.vb" Inherits="Redirect_Destination" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Redirect-遷移先</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server"></asp:Label>
  </h3>
  <hr />
  <div>
    <asp:Label ID="ValueLabel" runat="server"></asp:Label>
  </div>
  <hr />
  <asp:HyperLink ID="BackHyperLink" runat="server"
    NavigateUrl="./Source.aspx">戻る</asp:HyperLink>
  </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Destination.aspx.cs" Inherits="Redirect_Destination" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>Redirect-遷移先</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server"></asp:Label>
  </h3>
  <hr />
  <div>
    <asp:Label ID="ValueLabel" runat="server"></asp:Label>
  </div>
  <hr />
  <asp:HyperLink ID="BackHyperLink" runat="server"
    NavigateUrl="./Source.aspx">戻る</asp:HyperLink>
  </form>
</body>
</html>

↑Top


リスト 5-21 Redirect/Destination.aspx.vbファイル

Partial Class Redirect_Destination
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' トップページで入力された名前を表示
    NameLabel.Text = DirectCast(Session("Name"), String)

    ' 前の画面で入力された値を取得、表示
    Dim value As String = Request.QueryString("value")
    ValueLabel.Text = String.Format("前の画面で入力された値は「{0}」です", value)
  End Sub
End Class

using System;

public partial class Redirect_Destination : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // トップページで入力された名前を表示
    NameLabel.Text = (string)Session["Name"];

    // 前の画面で入力された値を取得、表示
    string value = Request.QueryString["value"];
    ValueLabel.Text = String.Format("前の画面で入力された値は「{0}」です", value);
  }
}

↑Top


リスト 5-22 Transfer/Source.aspxファイル

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Source.aspx.vb" Inherits="Transfer_Source" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Transfer-遷移元</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server">
    </asp:Label>
  </h3>
  <asp:SiteMapPath ID="SiteMapPath1" runat="server">
  </asp:SiteMapPath>
  <hr />
  <div>
    <h4>
      <asp:Label ID="ParameterLabel" runat="server"
        Text="値を入力してボタンをクリックしてください"></asp:Label>
    </h4>
    <asp:TextBox ID="ParameterTextBox"
      runat="server"></asp:TextBox>
    <asp:Button ID="TransferButton" runat="server"
      Text="Transfer" />
  </div>
  </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Source.aspx.cs" Inherits="Transfer_Source" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>Transfer-遷移元</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server">
    </asp:Label>
  </h3>
  <asp:SiteMapPath ID="SiteMapPath1" runat="server">
  </asp:SiteMapPath>
  <hr />
  <div>
    <h4>
      <asp:Label ID="ParameterLabel" runat="server"
        Text="値を入力してボタンをクリックしてください"></asp:Label>
    </h4>
    <asp:TextBox ID="ParameterTextBox"
      runat="server"></asp:TextBox>
    <asp:Button ID="TransferButton" runat="server"
      Text="Transfer" onclick="TransferButton_Click" />
  </div>
  </form>
</body>
</html>

↑Top


リスト 5-23 Transfer/Source.aspx.vbファイル

Partial Class Transfer_Source
    Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' トップページで入力された名前を表示
    NameLabel.Text = DirectCast(Session("Name"), String)
  End Sub

  Protected Sub RedirectButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TransferButton.Click
    ' 入力された値をQueryStringに設定し、ページ遷移
    Dim url As String = String.Format("./Destination.aspx?value={0}", ParameterTextBox.Text)
    Server.Transfer(url)
  End Sub
End Class

using System;

public partial class Transfer_Source : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // トップページで入力された名前を表示
    NameLabel.Text = (string)Session["Name"];
  }

  protected void TransferButton_Click(object sender, EventArgs e)
  {
    // 入力された値をQueryStringに設定し、ページ遷移
    string url = String.Format("./Destination.aspx?value={0}", ParameterTextBox.Text);
    Server.Transfer(url);
  }
}

↑Top


リスト 5-24 Transfer/Destination.aspxファイル

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Destination.aspx.vb" Inherits="Transfer_Destination" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Transfer-遷移先</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server"></asp:Label>
  </h3>
  <hr />
  <div>
    <asp:Label ID="ValueLabel" runat="server"></asp:Label>
  </div>
  <hr />
  <asp:HyperLink ID="BackHyperLink" runat="server"
    NavigateUrl="./Source.aspx">戻る</asp:HyperLink>
  </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Destination.aspx.cs" Inherits="Transfer_Destination" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>Transfer-遷移先</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>
    <asp:Label ID="NameLabel" runat="server"></asp:Label>
  </h3>
  <hr />
  <div>
    <asp:Label ID="ValueLabel" runat="server"></asp:Label>
  </div>
  <hr />
  <asp:HyperLink ID="BackHyperLink" runat="server"
    NavigateUrl="./Source.aspx">戻る</asp:HyperLink>
  </form>
</body>
</html>

↑Top


リスト 5-25 Transfer/Destination.aspx.vbファイル

Partial Class Transfer_Destination
    Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' トップページで入力された名前を表示
    NameLabel.Text = DirectCast(Session("Name"), String)

    ' 前の画面で入力された値を取得、表示
    Dim value As String = Request.QueryString("value")
    ValueLabel.Text = String.Format("前の画面で入力された値は「{0}」です", value)
  End Sub
End Class

using System;

public partial class Transfer_Destination : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // トップページで入力された名前を表示
    NameLabel.Text = (string)Session["Name"];

    // 前の画面で入力された値を取得、表示
    string value = Request.QueryString["value"];
    ValueLabel.Text = String.Format("前の画面で入力された値は「{0}」です", value);
  }
}

↑Top