首先让我感谢所有在我的教育方面做出贡献的人,它帮助了很多,我在7个月内学到了很多东西。
当有人访问详细信息页面时,我被要求计算每次浏览量。 我更新了我的数据库以添加一个网页浏览列,但我不确定如何做其他事情。我想我应该把代码放在我的控制器上的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页面上。这段代码有效。如何使用列名称pageview将每个页面视图计数并登录到我的数据库。请解释您的方法,以便我可以从中学习。
修改
我查看过谷歌分析,这不是我想要的。我只想用一些东西来组织。
我还包括了我的数据库模型,希望能够提供更多信息。
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 :(得分:0)
我最后只是在我的存储库中创建了一个方法,每次遇到id时都会在我的数据库中为页面视图列添加一个计数器。
public void AddView(int id)
{
var view = _context.Tests.Single(i => i.Id == id);
view.PageViews++;
_context.SaveChanges();
}