如何解决MVC具有多个会话的多个按钮例如:赞
我正在尝试创建一个页面,您可以在该页面中对MVC 5中动态添加的帖子进行投票,并对每个帖子的投票进行计数。
@foreach (var item in Model)
{
<tr>
<td>
@Html.ActionLink(item.Title,"Details",new { id = item.Id })
</td>
<td>
<img src="@item.imgurL" style="max-width: 200px;" />
</td>
<td>
@Html.displayFor(modelItem => item.UpVotes)
<button id="upVotes">UpVote</button>
</td>
<td>
@Html.ActionLink("Edit","Edit",new { id = item.Id }) |
<button class="js-delete" data-model-id="@item.Id">Delete</button> |
@Html.ActionLink("Add to Hot Page","AddToHot",new { id = item.Id })
</td>
</tr>
}
UpVotes显示在按钮的前面,是否有某种方法可以使用Session将按钮分配给UpVotes数量?
和p.s.有多个帖子具有自己特定的赞数。
附加代码:
public ActionResult UpVote(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Meme meme = db.Memes.Find(id);
if (meme == null)
{
return HttpNotFound();
}
meme.UpVotes++;
db.Memes.Remove(db.Memes.Find(id));
db.Memes.Add(meme);
db.SaveChanges();
return View(meme);
}
P.S,我已将<button id="upVotes">UpVote</button>
更改为
@Html.ActionLink("UpVote","UpVote",new { id = item.Id })
解决方法
for循环中的
<button id="upvotes">Upvote</button>
将在Id属性中呈现具有相同值的所有按钮。将其更改为以下内容:
<button id="upvotes@item.Id">Upvote</button>
这将导致以下结果:
<button id="upvotes1">Upvote</button>
<button id="upvotes2">Upvote</button>
<button id="upvotes3">Upvote</button>
...
回到实际问题,您没有共享处理upvote的操作的代码。那个动作的返回类型是什么?
我假设这是一个ajax动作和一个子动作,然后我猜您正在从该动作中返回该帖子的总投票数。
在这种情况下,您可以将返回的数字(例如15)附加到显示总数的容器中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。