2016-10-14 76 views
0

首先讓我感謝所有爲我的教育作出貢獻的人,它幫助了很多人,並且在7個月中學到了很多。在MVC中的網頁瀏覽量和登錄數據庫

當有人訪問詳細信息頁面時,我被要求計算每個綜合瀏覽量。 我更新了我的數據庫以添加一個瀏覽量列,但我不確定如何做其他事情。我想我應該把代碼放在我的控制器的ActionResult上,因爲那是我想跟蹤的頁面。如果這是錯誤的,請糾正我。

public ActionResult Details(int id, int? yearId) 
     { 
      var dbTest = _testRepository.Id(id); 
      var year = yearId == null ? dbTest.LastYear : dbTest.Date.Single(i => i.Id == yearId); 
      var vm = new DetailsVM 
      { 
       Test = _mapper.Map<TestVM>(year) 
      }; 

      return View(vm); 
     } 

以上是我的行動結果。它所做的是收集數據庫中的所有內容,並將其顯示在詳細信息cshtml頁面上。此代碼有效。如何獲得每個網頁瀏覽計數並使用列名稱瀏覽量登錄到我的數據庫。請解釋你的方法,以便我可以從中學習。

編輯:
我已經調查谷歌Analytics(分析),這是不是我所期待的。我只想爲組織使用一些東西。

我還包括我的數據庫模型,希望提供更多的信息。

public class Test 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
     public string Title { get; set; } 
     public ICollection<TestYear> Years { get; set; } 
     [NotMapped] 
     public TestYear LastYear { 
      get { 
       return this.Years.OrderByDescending(i => i.Year).FirstOrDefault(); 
      } 
     } 
     public int PageViews { get; set; } 
    } 
+0

如果您真正關心的是客戶如何使用我的網站,那麼您很可能希望查看Google Analytics或類似的服務。如果您確實想要使用自己的代碼,請使用全局操作篩選器 –

+0

我已閱讀過有關使用Google Analytics(分析)的內容,但尚未找到有關如何使用它的好教程或說明/示例。或者在哪裏。 – BlowFish

+0

看看[this](https://www.google.com/analytics/#/section-quote)和[this](http://stackoverflow.com/questions/21832711/implementing-google-analytics- in-mvc4-c) –

回答

0

我最終只是讓我在倉庫裏的方法給計數器每一個ID被擊中時添加到網頁瀏覽量列在我的數據庫。

public void AddView(int id) 
    { 
     var view = _context.Tests.Single(i => i.Id == id); 
     view.PageViews++; 
     _context.SaveChanges(); 
    }