ContentPlaceHolder データを更新してページ全体を更新しない
AJAX(Asynchronous JavaScript and XML)は、ページ全体を更新することなく、ContentPlaceHolder のデータを更新するために使用できます。AJAX は、ページ全体の更新を回避しながら、非同期リクエストを送信してページの特定部分を更新することを可能にします。
AJAXを利用してContentPlaceHolderのデータを更新する例を以下に示します:
- ページにContentPlaceHolderコントロールを含めます (例:)
<asp:ContentPlaceHolder ID="MyContent" runat="server"></asp:ContentPlaceHolder>
- AJAXリクエストとContentplaceholderのデータを更新するJavaScript関数を生成する、例えば:
function refreshContent() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("MyContent").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "refreshContent.aspx", true); // 替换为实际的服务器端页面地址
xmlhttp.send();
}
- コンテンツプレースホルダーのデータをリフレッシュする必要がある場所で、refreshContent() 関数を呼び出します。例:
<button onclick="refreshContent()">刷新数据</button>
- AJAXリクエストを処理し、更新されたContentPlaceHolderのデータ(例:refreshContent.aspx)を返すサーバー側のページを作成します。
protected void Page_Load(object sender, EventArgs e) {
// 执行需要刷新的操作,并生成更新后的内容
string updatedContent = "更新后的内容";
// 将更新后的内容作为响应返回
Response.Write(updatedContent);
Response.End();
}
「データの最新化」ボタンクリック時にサーバー側のページrefreshContent.aspxへAJAXリクエストを送り、返却された更新後のContentPlaceHolderのデータをページの対象部分に差し替えて、ページ全体のリフレッシュは行いません。