请让我尽力解释这一点。
我尝试过研究这个,但我不知道如何正确地说出来实现我想要的。
现在我想要发生的是当用户点击“添加Win”时,该值增加1(因此,如果用户点击该链接,则该值将为5)。
我希望这种情况发生,而不是重定向到我的Edit
视图。填写表格似乎毫无意义/乏味,&当我需要做的就是将此数字的值增加1时保存表单。
我该怎么做?
我的默认控制器public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Team team = db.Teams.Find(id);
if (team == null)
{
return HttpNotFound();
}
return View(team);
}
// POST: Teams/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ID,TeamName,TotalWins, SeriesWins")] Team team)
{
if (ModelState.IsValid)
{
db.Entry(team).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(team);
}
操作中没有更改任何内容,所以这里是:
ActionLink
那么如何使用我的@Html.ActionLink("Add Win", "Edit", "Teams", new { id = 2 }, null)
<tr>
@foreach (var item in Model.Where(x => x.TeamName == "example"))
{
<td class="text-center">
<span id="teamLabel">
@item.SeriesWins
</span>
</td>
}
</tr>
来增加该数字的值?
更新:
HTML:
view
感谢任何帮助。
答案 0 :(得分:1)
我找到了另一种解决方案。
我在我的控制器中创建了一个自定义ActionResult
,以找到id
并为我需要解决的属性添加+1。
public ActionResult AddOne(int id)
{
Team team = db.database.Find(id);
team.SeriesWins += 1;
UpdateModel(team);
db.SaveChanges();
return RedirectToAction("Index");
}