サーチ…
前書き
このトピックでは、2つのMicrosoft Ajaxサーバーコントロール(ScriptManagerコントロールとUpdatePanelコントロール)を使用して、Webページに部分ページ更新サポートを追加する方法について説明します。これらのコントロールは、ポストバックごとにページ全体をリフレッシュする必要がなくなり、ユーザーエクスペリエンスが向上します。
構文
- <asp:UpdatePanel ID = "UpdatePanel1" runat = "server">
</ asp:UpdatePanel>
備考
UpdatePanelを動作させるには、ScriptManagerをページに追加する必要があります。
更新パネルの例
ステップ1:ページにScriptManagerを追加する
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
ステップ2:ScriptManagerの直後にページにUpdatePanelを追加します。
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate></ContentTemplate>
</asp:UpdatePanel>
ステップ3:UpdatePanelsコンテンツテンプレートにコンテンツを追加した後、aspxページは次のようになります。
<%@ Page Language="C#" %>
<!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>Untitled Page</title>
<style type="text/css">
#UpdatePanel1 {
width:300px; height:100px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="padding-top: 10px">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>UpdatePanel</legend>
<asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</div>
</div>
</form>
</body>
</html>
ステップ4:C#ページにこのパーツを追加する:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Refreshed at " +
DateTime.Now.ToString();
}
ステップ5:アプリケーションを実行します。
期待される結果:
パネルの内容は、ボタンをクリックするたびに変更されますが、ページ全体がリフレッシュされません。既定では、UpdatePanelコントロールのChildrenAsTriggersプロパティはtrueです。このプロパティをtrueに設定すると、パネル内のコントロールによってポストバックが発生すると、パネル内のコントロールが部分ページの更新に参加します。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow