亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

ajax c#實時數據交互

c#
小樊
83
2024-09-19 20:30:33
欄目: 編程語言

在C#中,使用AJAX(Asynchronous JavaScript and XML)實現實時數據交互通常涉及到兩個方面:服務器端和客戶端。這里我們將使用ASP.NET Core Web API作為服務器端,jQuery作為客戶端。

  1. 創建ASP.NET Core Web API

首先,我們需要創建一個ASP.NET Core Web API項目。在Visual Studio中,選擇“創建新項目” -> “ASP.NET Core Web 應用”。

  1. 添加模型類

在項目中創建一個名為Data的文件夾,并在其中創建一個名為Model.cs的文件,定義一個簡單的數據模型類:

public class Data
{
    public string Value { get; set; }
}
  1. 創建控制器

Controllers文件夾中創建一個名為DataController.cs的文件,定義一個API控制器來處理客戶端的請求:

using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;

namespace RealTimeData交互.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class DataController : ControllerBase
    {
        private static List<Data> dataList = new List<Data>
        {
            new Data { Value = "數據1" },
            new Data { Value = "數據2" },
            new Data { Value = "數據3" }
        };

        [HttpGet("getdata")]
        public ActionResult<IEnumerable<Data>> GetData()
        {
            return dataList;
        }

        [HttpGet("updatedata")]
        public ActionResult<Data> UpdateData(string newValue)
        {
            var dataToUpdate = dataList.FirstOrDefault(d => d.Value == newValue);
            if (dataToUpdate != null)
            {
                dataToUpdate.Value = newValue;
            }

            return Ok(dataToUpdate);
        }
    }
}
  1. 客戶端實現(jQuery)

在項目中創建一個名為Scripts的文件夾,并在其中創建一個名為main.js的文件,編寫客戶端代碼:

$(document).ready(function () {
    // 獲取數據
    function getData() {
        $.getJSON("/api/data/getdata", function (data) {
            $("#dataList").html("");
            data.forEach(function (item) {
                $("#dataList").append("<p>" + item.Value + "</p>");
            });
        });
    }

    // 更新數據
    function updateData() {
        var newValue = prompt("請輸入要更新的數據:");
        $.getJSON("/api/data/updatedata", { newValue: newValue }, function (data) {
            if (data != null) {
                $("#dataList").html("");
                $("#dataList").append("<p>" + data.Value + "</p>");
            }
        });
    }

    // 初始化
    getData();

    // 每隔5秒鐘更新一次數據
    setInterval(updateData, 5000);
});
  1. Views/Home/Index.cshtml中引入jQuery庫和客戶端腳本:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>AJAX 實時數據交互</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="~/Scripts/main.js"></script>
</head>
<body>
    <h1>實時數據交互</h1>
    <div id="dataList"></div>
</body>
</html>

現在,當你運行項目并訪問https://localhost:5001時,你將看到每隔5秒鐘自動更新的實時數據。你可以通過點擊“更新數據”按鈕來手動更新數據。

0
沭阳县| 普兰县| 山东省| 马公市| 从江县| 老河口市| 汾西县| 河东区| 台前县| 襄垣县| 石嘴山市| 淮南市| 剑阁县| 体育| 化隆| 武宣县| 曲沃县| 南皮县| 仙居县| 绥中县| 隆回县| 郎溪县| 登封市| 肇东市| 响水县| 崇明县| 泊头市| 理塘县| 金沙县| 巴彦淖尔市| 浙江省| 凤翔县| 瑞安市| 紫阳县| 东山县| 霍城县| 漳州市| 南丹县| 五家渠市| 绥芬河市| 静宁县|