Единственным действующим кодом является RedirectToAction, но все еще не все пути кода возвращают значение

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

Я выполнил некоторый поиск по ошибке, но все результаты связаны с использованием операторов try..catch or if . В моем случае я просто добавляю некоторую информацию в БД, а затем выполняю RedirectToAction вызов, я полагаю, поскольку я технически не вызываю return ключевое слово, это корень проблемы, но что я должен вернуть и где, когда все, что я хочу сделать, это перенаправление?

 [Route("AddMTNLoctionNote", Name = "Add Location Note")]
public ActionResult AddMTNLocationNote()
{
    using (var db = new JobSightDbContext())
    {
        var newNote = new MTNAlarmLocationNote()
        {
            LocationID = int.Parse(Request["LocationID"]),
            Note = Request["Note"]
        };

        db.MTNAlarmLocationNotes.Add(newNote);
        db.SaveChanges();
    }

    RedirectToAction("MTNAlarmDetail", int.Parse(Request["LocationID"]));
}
  

Комментарии:

1. Вы отвечаете на вопрос в своем вопросе, вы должны вернуть перенаправление.

Ответ №1:

Вам нужен результат return RedirectToAction() , а не просто вызов метода:

 return RedirectToAction("MTNAlarmDetail", int.Parse(Request["LocationID"]));