我的图片有一个名为hits的int,用于计算某人点击图像的次数。单击图像时,将转到/详细信息/ [图像ID]。我的详细信息控制器有以下代码:
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
CustomButton customButton = db.CustomButtons.Find(id);
if (customButton == null)
{
return HttpNotFound();
}
db.CustomButtons.Find(id).Hits += 1;
return View(customButton);
}
无论点击次数多少次,图片的点击次数仍为1或2。
答案 0 :(得分:0)
那是因为你没有在任何地方存储命中的运行次数。每次页面返回控制器时.Hits为0,因为每次页面重新加载时都会重新初始化CustomButtons,然后.Hits从0开始。
您应该在模型中存储当前的命中数,然后使用视图发送模型。在视图中,您可以从模型中获取当前的命中数,并将其存储回.Hits。然后,当发送到控制器时,增加Hits并将其存储回Model中,并使用View返回新模型。
答案 1 :(得分:0)
我想通了,我不得不添加db.SaveChanges();增加一个点击后到下一行。