使用ActionLink增加属性值

时间:2016-03-30 12:24:01

标签: c# ajax asp.net-mvc

请让我尽力解释这一点。

我尝试过研究这个,但我不知道如何正确地说出来实现我想要的。

我的页面上有这个:Example

现在我想要发生的是当用户点击“添加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

感谢任何帮助。

1 个答案:

答案 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");
    }