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