Я пытаюсь использовать метод RedirectToAction () для перенаправления с одного действия на другое.Однако, когда я выполняю свой код, я получаю «200 OK» вместо «302 Найдено» в Коде состояния. Снимок экрана
По сути, действие My Save должно перенаправлять на действие Index, но оно не перенаправляет.
Сохранить действие в контроллере фильмов
[ValidateAntiForgeryToken]
[HttpPost]
public ActionResult Save(Movies movies)
{
if (!ModelState.IsValid)
{
var viewModel = new MovieViewModel
{
Generes = _context.Generes.ToList()
};
return View("MovieForm", viewModel);
}
if (movies.ID == 0)
{
movies.DateAdded = DateTime.Now;
_context.Movies.Add(movies);
}
else
{
var MoviesInDb = _context.Movies.Single(m => m.ID == movies.ID);
MoviesInDb.MovieName = movies.MovieName;
MoviesInDb.Releasedate = movies.Releasedate;
MoviesInDb.GenereID = movies.GenereID;
MoviesInDb.NumberInStock = movies.NumberInStock;
}
_context.SaveChanges();
return RedirectToAction("Index","Movies");
}
Индекс действий в контроллере фильмов
public ActionResult Index()
{
var Movies = _context.Movies.Include(m => m.Genere).ToList();
return View(Movies);
}
Представление индекса
@model IEnumerable<Vidly.Models.Movies>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<title> Movies</title>
<h2>Movies</h2>
<button class="btn btn-primary"> New Movie </button>
<table class="table table-striped" >
<thead>
<tr>
<th> Movies </th>
<th> Category </th>
</tr>
</thead>
<br/>
<tbody>
@foreach (var Movie in Model)
{
<tr>
<td>
@Html.ActionLink(Movie.MovieName, "Edit", "Movies", new { id = Movie.ID },null)
</td>
<td>
@Movie.Genere.Name
</td>
</tr>
}
</tbody>
</table>
И представление, котороеПодача действия Сохранить - это MovieForm.cshtml
@model Vidly.ViewModels.MovieViewModel
@{
ViewBag.Title = "MovieForm";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Movie Form</h2>
@using (Html.BeginForm("Save", "Movies"))
{
<div class="form-group">
@Html.LabelFor(m => m.Movies.MovieName)
@Html.TextBoxFor(m => m.Movies.MovieName, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Movies.MovieName)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Movies.Releasedate)
@Html.TextBoxFor(m => m.Movies.Releasedate, "{0:MM/dd/yyyy}", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Movies.Releasedate)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Movies.GenereID)
@Html.DropDownListFor(m => m.Movies.GenereID, new SelectList(Model.Generes, "ID", "Name"), "Select the Genere", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Movies.GenereID)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Movies.NumberInStock)
@Html.TextBoxFor(m => m.Movies.NumberInStock, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Movies.NumberInStock)
</div>
@Html.HiddenFor(m => m.Movies.ID)
@Html.AntiForgeryToken()
<br />
<button type="submit" class="btn btn-primary"> Submit</button>
}
Есть идеи, почему возвращается код состояния 200 Ok?