При использовании RedirectToAction, routeValue утрачивающий ссылочные имущества

Пробовал быструю репликацию, но не могу найти подходящий pyipopt для моей среды. Если они используют регистратор для вывода сообщений, вам может потребоваться инициализировать регистратор на уровне «DEBUG», чтобы получить все данные, записанные в консоль Jupyter, например:

import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
5
задан Dave Markle 11 July 2011 в 00:02
поделиться

5 ответов

Адрес является ссылочным типом, я думаю только "Строка" и оцениваю типы как интервал, плавание и т.д. может передать, потому что помнят, что они передают строки внутренне от на контроллере другому.

Можете быть Вы, возможно, должен реализовать некоторый интерфейс сериализации, чтобы сделать это (это зависит от режима передачи, xml, HTML или какая форма передачи используется внутренне).

1
ответ дан 18 December 2019 в 14:51
поделиться

Вы могли использовать TempData, чтобы хранить объекты, которые будут доступны между двумя запросами. Внутренне реализация по умолчанию использует Сессию.

public class AController:Controller
{
    public ActionResult ActionOne()
    {
        MyObject myObj = new MyObject()
        myObj.Name = "Jeff Atwood";
        myObj.Age = 60;
        myObj.Address = new Address(40, "Street");
        TempData["myObj"] = myObj;
        return RedirectToAction("ActionTwo", "BController");

    }
}

public class BController:Controller
{
    public ActionResult ActionTwo()
    {
        MyObject myObj = TempData["myObj"] as MyObject;
        // test if myObj is defined. If ActionTwo is invoked directly it could be null
    }
}
8
ответ дан 18 December 2019 в 14:51
поделиться

Я продолжил поиск и нашел блог Джона Крюгера. http://jonkruger.com/blog/2009/04/06/aspnet-mvc-pass-parameters-when-redirecting-from-one-action-to-another/

.net MVC-фрейм не работает не поддерживает эту функцию, но люди добавили поддержку mvccontrib. К сожалению, у меня почему-то нет доступа к mvccontrib.org. Вы можете сообщить мне, решится ли эта проблема? Спасибо.

2
ответ дан 18 December 2019 в 14:51
поделиться

Я столкнулся с той же проблемой. Решение TempData выглядит не слишком хорошо, потому что затрудняет модульное тестирование. Это проблема сериализации, как указал Акаш?

0
ответ дан 18 December 2019 в 14:51
поделиться

Я столкнулся с этой же проблемой, без явного решения. В то время как Tempdata очень удобно, приятно не нужно использовать все это, потому что его довольно взлома.

Лучшее решение, которое я обнаружил, должен был пройти новый RouteValuedaury

  return RedirectToAction("ActionTwo", "BController", new { MyObject = myObj } );
2
ответ дан 18 December 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: