ASP.NET MVC: представление отображается в окне предупреждения - PullRequest
0 голосов
/ 28 января 2011

Мой вид отображается в окне предупреждения.У меня есть действие post, которое добавляет новую запись в мой репозиторий, а затем возвращает список подходящих объектов для отображения:

    [HttpPost]
            public ActionResult Add(FormCollection collection)
            {
    ...
    _repository.AddMyObject(myobject);
    _repository.Save()
    _matchingResults = _repository.GetMatchingResults(myobject);

    if (Request.IsAjaxRequest())
        return View("Results", _matchingResults );
    ...
}

«Результаты» - это представление, которое отображает список matchResults.Тем не менее, все, что я получаю, - это окно предупреждения с отображенным html.Я не могу использовать RedirectToAction, потому что мне нужно передать _matchingResults.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 28 января 2011

Ваше представление, отображающее результаты, должно быть частичным, то есть Results.ascx (пользовательский элемент управления), а затем вы должны вернуть это представление через return PartialView("Results", _matchingResults)

0 голосов
/ 28 января 2011

Обходной путь, хотя уродливым может быть использование Tempdata для хранения того, что вы хотите, и извлечение его в вашем действии Results, поскольку TempData сохраняется между двумя запросами

Однако TempData может хранить только строки, но Фил Хаакед приходитспасение с этим блогом .

Обычный шаблон при отправке формы в ASP.NET MVC - это отправка данных формы в действие, которое выполняет некоторую операцию, а затем перенаправляет на другое действие.Единственная проблема заключается в том, что данные формы не заполняются автоматически после перенаправления.Давайте посмотрим на исправление этого, не так ли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...