2016-03-30 22 views
0

可能な限りこれを説明するようにしてください。ActionLinkを使用してプロパティの値を増やしてください

私はこれを研究しようとしましたが、私が探しているものを達成するために正しく言葉を語る方法がわかりません。今私は、ユーザーがクリックしたときに1だけ値が増加する「ウィンを追加」されて起こるしたい(ユーザがリンクをクリックした場合の値は5になります)何Example

私は自分のページ上でこれを持っています。

私はEditビューにリダイレクトされるのではなく、これが起こるようにしたいと思います。私が行うために必要なのはどのように私はこれをやって行くのです。1.

することにより、この数の値を増やすときにフォームを保存&、フォームに必要事項を記入する必要が面倒/無意味であると思われますか?

私は私のデフォルトコントローラEditアクションでは何も変わっていないので、ここにある:

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は、その数の値を大きくするために使うのですか?

UPDATE:

HTML:

@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> 

すべてのヘルプは高く評価されます。

+1

私は完全な解決策を提示しませんが、なぜ単にajaxを使用していないのですか?これが、これらのxhrオブジェクトの概要です。本当にasp.net mvcを使用したい場合は、部分的なビューについて読んでください。部分ページを再送信することなく、部分ページを送信することができます。多分これがあなたを助けることができます。 – Trickzter

+0

JavaScriptを使用してインクリメントする必要があります。 – Fals

+0

@Fals HTMLを含むように更新を投稿しました.jsでこれを行い、フォームを送信するにはどうすればいいですか? –

答えて

1

私は別の解決策を見つけました。

idを見つけて、+1する必要があるのは、コントローラにカスタムActionResultを作成しました。

public ActionResult AddOne(int id) 
    { 
     Team team = db.database.Find(id); 
     team.SeriesWins += 1; 
     UpdateModel(team); 
     db.SaveChanges(); 

     return RedirectToAction("Index"); 
    } 
関連する問題