簡體   English   中英

如何使用AJAX在ASP.net MVC4站點上顯示日志數據

[英]How to display log data on ASP.net MVC4 site with AJAX

我是網頁設計新手(使用ASP.net MVC4 / Razor),有時互聯網上的信息太多,我已經在Google上搜索了2個小時,但發現很多不同的答案可以解決我的問題,但是我不知道哪個是最好的,所以我在這里問:

我有一個數據庫(首先是EF代碼),它具有一個從不同位置插入的日志表。 但是我想制作一個頁面,在該頁面上它應該始終顯示最后20行。

所以我用谷歌搜索,發現:

  • Micorosoft Ajax?

  • jQuery Ajax?

  • 毫不客氣的Ajax?

  • SignalR與jQuery?

  • Websockets?

  • 將ajax與模板一起使用?

我敢肯定,會有一些選擇比其他選擇更好,或者也許我還沒有提到。 有人可以告訴我我應該挖掘什么方向來得到我想要的東西。 (我不想獲取所有代碼,我只需要一些指導,因為我對太多的選擇感到迷茫+)

編輯

我將指定更多內容,我知道我必須創建一個API來獲取JSON之類的東西

public JsonResult GetLast20LogRows()
{
  ...
  return listoflast20rows; //(as List<DatabaseLog>()) 
}

我只是不知道HTML/Javascript/ajax參數以及如何讓它刷新HTML而又不刷新整個頁面。(Ajax)

EDIT2:

服務器端代碼:

ChatBotLog.cs (以EF代碼優先):

  public class ChatBotLog
    {
        [Key]
        public int Id { get; set; }
        public DateTime? Date { get; set; }
        public ServerRegion Region { get; set; }
        public string Text { get; set; }
    }

現在,我想要一個.cshtml(剃刀頁面)來獲取顯示最后20行的方法,我將使該方法快速獲得最后20行:

public JsonResult GetLastLogRows()
{
     using (var db = new MyDb())
     {
         var listlog = db.ChatBotLogs.OrderByDescending(x => x.Date).Take(20);
         return Json(listlog);
     }
}

我認為這是我應該根據所閱讀的內容制作的一種方法,無論如何請告訴我我是否錯了,我仍然在尋找一種在視圖上顯示它的方法,我應該使用哪種類型的ajax,它不會必須是“實時實時”,但就像每5秒刷新一次數據。

希望您現在能更好地理解我的位置。

我認為您的問題可以通過一種簡單的方法解決:

1-創建一個jQuery函數,該函數將從Web服務器中提取數據示例:

function GetLatestLogEntries()
{
    var latestLogEntries;

    $.ajax({
                 type: "GET",
                 url: "/{RootFolder}/GetLast20LogRows",                   
                 dataType: "json",
                 success: function (e) {
                     latestLogENtries = e.data;  

                     // here you will need to format the log entries according to your needs, for example
                     $("#divLogContainer").html(latestLogENtries);

                 }
          });
    }

2-將以下代碼放入腳本標簽中,以確保在所有頁面元素加載后將被執行

$(function(){
       setInterval(GetLatestLogEntries(),5000);
})

3-微笑:)

這將每5秒執行一次GetLatestLogEntries函數,您的頁面將被最新的20個條目更新

如果您需要進一步的解釋,請隨時對此答案發表評論

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM