Поскольку я читал, что после того, как вы установите временные данные, они будут действовать до следующего запроса, и если вам нужно использовать их больше, нам нужно использовать keep. Но в этой ситуации где-то мои временные данные теряются.
Сценарий ниже:
У меня есть представление, и в соответствии с этим у меня есть метод действия в моем контроллере, и здесь я просто устанавливаю временные данные, как показано ниже:
Класс контроллера:
public actionresult myview()
{
tempdata["Empid"]= sourceid;
}
Представление состоит из нескольких renderAction, как показано ниже, и все эти методы действий в контроллере возвращают некоторые частичные представления.
@html.renderAction("details","mycontroller")
@html.renderAction("details","mycontroller")
@html.renderAction("details","mycontroller")
@html.renderAction("details","mycontroller")
Теперь в partialviews у меня есть несколько вызовов ajaxified, предположим, что в одном из partialview у меня есть метод публикации, использующий ajax, как показано ниже:
$.post("action", "controller",{}});
Пожалуйста, не обращайте внимания на синтаксические ошибки, так как у меня проблемы только с пониманием логики tempdata.
Итак, подходя к вышеизложенному, теперь методы публикации имеют методы действий, которые используют временные данные, которые я установил, когда моя страница просмотра загружается, то есть tempdata["Empid"], потому что эти временные данные необходимы для получения сведений о сотруднике.
Итак, он получает данные, возвращает данные в формате json, и я отлично показываю их. А пока здесь все в порядке. Теперь у меня есть один из частичных представлений, который использует сообщение ajax для обращения к контроллеру, который не является тем же контроллером, а другим файлом cs. Вот эти временные данные сбиваются.
Почему так происходит..