在 MVC 中统计页面浏览量并登录数据库
Count Pageviews in MVC and log in Database
首先让我感谢所有为我的教育做出贡献的人,这对我帮助很大,我在 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 来计算每个 pageview 并登录到我的数据库。请解释你的方法,以便我可以从中学习。
编辑:
我查看了 Google 分析,但它不是我要找的。我只是想要一些用于组织的东西。
我还包含了我的数据库模型,希望它能提供更多信息。
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; }
}
我最终只是在我的存储库中创建了一个方法,每次点击一个 ID 时都会在我的数据库中的页面浏览列中添加一个计数器。
public void AddView(int id)
{
var view = _context.Tests.Single(i => i.Id == id);
view.PageViews++;
_context.SaveChanges();
}
首先让我感谢所有为我的教育做出贡献的人,这对我帮助很大,我在 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 来计算每个 pageview 并登录到我的数据库。请解释你的方法,以便我可以从中学习。
编辑:
我查看了 Google 分析,但它不是我要找的。我只是想要一些用于组织的东西。
我还包含了我的数据库模型,希望它能提供更多信息。
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; }
}
我最终只是在我的存储库中创建了一个方法,每次点击一个 ID 时都会在我的数据库中的页面浏览列中添加一个计数器。
public void AddView(int id)
{
var view = _context.Tests.Single(i => i.Id == id);
view.PageViews++;
_context.SaveChanges();
}