передавать данные между действиями - PullRequest
0 голосов
/ 03 апреля 2012

Я пытался передать данные от одного действия другому в том же контроллере, но, похоже, это не работает. Я получаю ноль. Как передать значение между контроллерами?

Action1

 ViewData["ProductId"] = productId;

Мотор2

var productId = ViewData["ProductId"];//Always Null

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

Вы также можете использовать TempData для обмена данными до следующего запроса.

1 голос
/ 03 апреля 2012

Вы можете использовать this.Session["ProductId"], но этот подход, как правило, неверен и приводит к сложному в обслуживании коду, который не масштабируется.Скорее всего, вы должны передать это своему представлению для рендеринга в качестве поля ввода (для формы) или для генерации URL-адресов (для ссылок).

0 голосов
/ 03 апреля 2012

как вы называли второе действие внутри первого действия? Если вы позвоните

RedircectToAction("Acion2"). 

тогда вы можете передать параметр по свойству действия следующим образом:

RedirectToAction("Action2", new { productID= ViewBag.ProductId});

public ActionResult Action2(Guid productID)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...