2016-12-20 12 views
-1

私は、そのイベントについての情報を表示イベントビューで持っています。その見解では、私は好きなものに似ていますが、ほとんど問題はありません。私のロジックはとてもシンプルで、私はそれを保つつもりです:クリックするとintが増えますが、出席者は1人ですが...ASP.NET MVC:出席/好きな投稿

最初に私はif(events == null)に入っています。もう1つは、ユーザーごとに1回クリック可能にする方法ですか?ここで

が私のコードです:

モデル:

[Key] 
    public int Id { get; set; } 
    public string EventName { get; set; } 
    ... 
    public int Attends { get; set; } 

イベントアクション作成:

//POST: Event/Create 
    [HttpPost] 
    public ActionResult Create(EventViewModel model) 
    { 
     if (ModelState.IsValid) 
     { 
      using (var database = new EventSpotDbContext()) 
      { 
       var events = new Event(model.EventName,...); 
       ... 
       events.Attends = 0; 
       database.Events.Add(events); 
       database.SaveChanges(); 
       return RedirectToAction("Main"); 
      } 
     } 
     return View(model); 
    } 

イベント参加アクション:

public ActionResult Attend(int? id) 
    { 
     using (var database = new EventSpotDbContext()) 
     { 
      var events = database.Events.FirstOrDefault(a => a.Id == id); 
      if (events == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      events.Attends += 1; 
      database.SaveChanges(); 
     } 
     return RedirectToAction("Details"); 
    } 

イベントの詳細アクション:

//GET: Event/Details 
    public ActionResult Details(int? id) 
    { 
     using (var database = new EventSpotDbContext()) 
     { 
      var events = ... .First(); 
      return View(events); 
     } 
    } 

詳細ビュー

  @model EventSpot.Models.Event 
      ... 
      @Html.ActionLink("Attend Event", "Attend", "EventController", new {@id=Model.Id}) 
      @Model.Attends 
+0

属性あなたの質問は何ですか?それはあなたの文から明らかではない –

+0

私はif(events == null)例外に入っています - HTTP Error 400.0 - Bad Request –

+0

デバッグしましたか? UI(View)が実際にidとdbを渡しますか? –

答えて

0
@Html.ActionLink("Attend Event", "Attend", "EventController", new {@id=Model.Id}, null) 

彼は{@id=Model.Id}を扱ったことがISSE HTMLがない属性としてルートが

関連する問題