我正在使用jquery ajax将一些数据发布到服务器,在TempData中将数据保存在服务器上,然后将用户重定向到不同的操作。
[HttpPost]
public async Task<IActionResult> GetDocument(SearchFiltersModel filters)
{
var model = await _service.GetDocument(filters);
TempData["Detail"] = model;
return Json("document/detail/" + model.DocumentID)
}
[HttpGet]
public IActionResult Detail()
{
// getting error at line below.
/// ArgumentNullException: Value cannot be null. Parameter name: dictionary
var model = TempData["Detail"] as DocumentModel;
return View(model);
}
$('btn').click(function(){
$.ajax({
type: 'POST',
data: filters,
url: 'document/getdocument'
})
.done(function (response) {
window.location = response;
})
})
但是,当调用Detail
操作方法时,TempData [&#34; Detail&#34;]为空。为什么TempData在操作方法中丢失。
(我有正当理由在按钮点击而不是表格帖子上做ajax帖子,但这里不相关)