Метод RedirectToAction () не возвращает код состояния 302 - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь использовать метод 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?

1 Ответ

1 голос
/ 18 марта 2019

Возможно, ModelState недействителен

...
if (!ModelState.IsValid)
{
  var viewModel = new MovieViewModel
  {
    Generes = _context.Generes.ToList()
  };

  return View("MovieForm", viewModel);
}
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...