MVC3 Передача данных с контроллера на другой контроллер - PullRequest
0 голосов
/ 03 декабря 2011

Передача небольшого количества данных с одного контроллера на другой, могу ли я использовать ViewBag? ViewData? или сессия ... и т.д. ... каков правильный подход.

например. My First [Controller1] / [Action: Register] генерирует ID пользователя и затем должен быть перенаправлен на другой контроллер

return RedirectToAction («Создать», «Контроллер2»);

Затем в Create (HttpPost) я сохраняю данные + плюс идентификатор пользователя в базе данных, а затем перенаправляю на следующий контроллер, который действует так же, как на HttpPost хранит данные + плюс идентификатор пользователя в базу данных.

Я немного растерялся, какой подход я должен использовать, как мне передать идентификатор пользователя безопасным способом / правильным способом?, Пожалуйста, совет, Спасибо

Ответы [ 2 ]

2 голосов
/ 03 декабря 2011

Если он не приватный, просто передайте его по URL, используя третий параметр в вашем редиректе: new {id = whatValue}

Если это личные данные, используйте TempData - они будут удалены после того, как следующий запрос прочтет их (ну в конце запроса)

0 голосов
/ 03 декабря 2011

Я полагаю, что вы можете использовать значения маршрута для достижения этой цели. Вот пример:

return RedirectToAction("Create", "Controller2", new { userId = myVar });

Для получения дополнительной информации о значениях маршрута, проверьте RouteValueDictionary http://msdn.microsoft.com/en-us/library/system.web.routing.routevaluedictionary.aspx

...