ASP.NETでのページのリロード - ASP.NET

ASP.NETでページのリロードをするコードを紹介します。

概要

ASP.NETでページをリロードする場合は、同じURLへリダイレクトすることでリロードを実行できます。
JavaScriptを用いてページをリロードすることも可能です。JavaScriptを利用したページのリロードはこちらの記事を参照してください。

UI

以下のUIを作成します。ASP.NETアプリケーションを作成し、WebフォームにASP ボタンコントロールを2つ、ASP Labelコントロール、HTMLコントロールのボタンを配置します。

XML

XMLのコードは以下になります。
<%@ Page Language="C#" AutoEventWireup="true" 
  CodeBehind="default.aspx.cs" Inherits="PageReload._default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script type="text/javascript">
    function OnButtonClick() {
      window.location.reload();
    }
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
      <div><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
      <hr />
      <div>
        <asp:Button ID="Button1" runat="server" Text="リロード" OnClick="Button1_Click" />
      </div>
      <div>
        <input id="Button3" type="button" value="リロード(JavaScript)" onclick="OnButtonClick()"/>
      </div>
    </div>
    </form>
</body>
</html>

コード

以下のコードを記述します。

default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PageReload
{
  public partial class _default : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      Label1.Text = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss");
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
      Response.Redirect(Request.Url.OriginalString);
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
      Server.Transfer(Request.Url.LocalPath);
    }
  }
}

解説

ASPコントロールのボタンが押された場合には"Response.Redirect()","Server.Transfer()"を実行し同じページを再度表示してページのリロードをします。

実行結果

プロジェクトを実行します。下図の画面が表示されます。


[リロード]ボタンを押すとページが更新され上部の時刻が変化します。



[リロード (JavaScript)]ボタンを押しても同じ動作結果となります。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-06
作成日: 2013-06-10
iPentec all rights reserverd.