Question

I have a form that calls this action to build the CompareEvents page:

[HttpPost]
public ActionResult CompareEvents(int[] EventsList, bool showIndex, bool showFRN, bool showProvider)
{
        var viewModel = new EventsListViewModel
        {
            Events = EventsList,
            ShowFRN = showFRN,
            ShowIndex = showIndex,
            ShowProvider = showProvider
        };

        return View(viewModel);
}

in the CompareEvents view there is another form that allows the user to update information:

[HttpPost]
public ActionResult UpdateSolution(IEnumerable<Solution> sol)
    {

            //update solution code
            int[] eventList = { '85' };

            return RedirectToAction("CompareEvents", new { EventsList = eventList, showIndex = true, showFRN = true, showProvider = true });
}

When this information is update, I would like to reload the page. I plan on doing this by calling the CompareEvents action again, however my stacktrace is saying that A public action method 'CompareEvents' was not found on controller

How can I accomplish this?

Was it helpful?

Solution

You cannot redirect to an action that is marked [HttpPost]. RedirectToAction uses a GET.

Source:

Returns an HTTP 302 response to the browser, which causes the browser to make a GET request to the specified action.

Reference.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top