2016-12-14 2 views
0

Мне интересно, есть ли хороший способ сделать это. В настоящее время я пытаюсь отправить некоторые временные данные нескольким частичным представлениям, вызываемым с той же страницы просмотра в моем приложении MVC.Отправка временных данных нескольким частичным представлениям из представления MVC

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

Главная страница Вид:

@{ 
    ViewBag.Title = "Main View Page"; 

    TempData["ReturnUrl"] = Request.Url.OriginalString.ToString(); 
} 

@Html.Partial("_StatusTable1") 
@Html.Partial("_StatusTable2") 
@Html.Partial("_StatusTable3") 
@Html.Partial("_StatusTable4") 
@Html.Partial("_StatusTable5") 

Частичный вид Пример:

@{ 
    var temp = TempData["ReturnUrl"]; // temp is null on all partials except the first 
} 

// Partial View Code ... 

Спасибо заранее.

+0

Вы могли бы просто использовать ViewBag – Dismissile

+0

@Dismissile Не ViewBag делать то же самое, просто выйти к одному из обертонов и что это? – tokyo0709

+1

Вам не нужно использовать 'TempData', и вам следует использовать сильно типизированные модели просмотра. 'TempData' существует для перенаправления, поэтому он очищается после первого доступа. –

ответ

0

В вашем основном виде странице вызова мнение partiel как этот

@Html.Partial("_SomePartial", TempData["ReturnUrl"]) 

Я думаю, что даже это будет работать.

@Html.Partial("_SomePartial", TempData) 
+1

Не получится. Как только он однажды обратится к TempData, он исчез. – Dismissile

+0

Затем назначьте его переменной и передайте ее в представление? – knaos

Смежные вопросы