2017-04-17 46 views
0

私は1つのフォームと2つのアクションメソッドを持っています私のアクションメソッドは同じフォームを編集と追加に使用します アクションメソッドの名前に基づいてフォームタイトルを変更したいと思います。 たとえば、追加ボタンをクリックすると、フォームのタイトル名は「新規ムービー」でなければなりません。 ムービーの編集ボタンをクリックすると、フォームのタイトル名は「ムービーを編集」する必要があります。アクションメソッドの名前に基づいてタイトルフォームを変更するにはどうすればよいですか?

 public ActionResult New() 
    { 
     var geners=_context.Genres.ToList(); 
     var viewModel=new MovieFormViewModel 
     { 
      Genres=geners 
     }; 
     //_context.Movies.Add(movie); 
     return View("New", viewModel); 
    } 
    public ActionResult Edit(int id) 
    { 
     var movie=_context.Movies.SingleOrDefault(m => m.Id==id); 
     if (movie == null) 
      return HttpNotFound(); 
     var viewModel=new MovieFormViewModel 
     { 
      Movie=movie, 
      Genres=_context.Genres.ToList() 
     }; 

     return View("New",viewModel); 
    } 

[HttpPost] 
    public ActionResult Save(Movie movie) 
    { 
     movie.DateAdded = DateTime.Now; 
     _context.Movies.Add(movie); 
     _context.SaveChanges(); 
     return RedirectToAction("index", "Movies"); 
    } 

=========================================== =======

@model Vidly.ViewModels.MovieFormViewModel 
@{ 
    ViewBag.Title = "New"; 
} 
<h2>New Movie</h2> 
@using (@Html.BeginForm("Save", "Movies")) 
{ 
    <div class="form-group"> 
     @Html.LabelFor(m =>m.Movie.Name) 
     @Html.TextBoxFor(m => m.Movie.Name, new { @class = "form-control" }) 

    </div> 
    <div class="form-group"> 
     @Html.LabelFor(m => m.Movie.ReleaseDate) 
     @Html.TextBoxFor(m => m.Movie.ReleaseDate, new { @class = "form-control" }) 
    </div> 

    <div class="form-group"> 
     @Html.LabelFor(m => m.Movie.Genre) 
     @Html.DropDownListFor(m => m.Movie.GenreId, new SelectList(Model.Genres, "Id", "Name"), "Select Genres", new { @class = "form-control" }) 
    </div> 
    <div class="form-group"> 
     @Html.LabelFor(m => m.Movie.NumberInStock) 
     @Html.TextBoxFor(m => m.Movie.NumberInStock, new { @class = "form-control" }) 
    </div> 
    <button type="submit" class="btn btn-primary">Save</button> 
} 
+0

あなたはあなたのビューに関連するHTMLを表示することができますか? –

答えて

0

私の問題は解決しました。

public class MovieFormViewModel 
{ 
    public IEnumerable<Genre> Genres { get; set; } 
    public Movie Movie { get; set; } 
    public string Title 
    { 
     get 
     { 
      if (Movie != null && Movie.Id != 0) 
       return "Edit Movie"; 
      return "New Movie"; 
     } 
    } 
} 

}

関連する問題