我有以下代码:
public IActionResult Index()
{
_fileModel = new FileModel { Files = _fileService.GetFilesForArchivation(), IdOfService = default(Guid) };
return View(_fileModel);
}
和Iv'e也实现了两种方法:
public IActionResult Compress()
{
//_compressingService.CompressAllFiles();
_fileModel.IdOfService = _compressResolverService.Start(_serviceProvider);
return RedirectToAction("Index");
}
public IActionResult CancelCompressing()
{
//_compressingService.Stop();
_compressResolverService.Stop(_fileModel.IdOfService);
return RedirectToAction("Index");
}
在第一种方法中,我将IdOfService
添加到FileModel中。在第二个代码中,我试图将此字段作为参数发送。在第一种方法中,我得到的guid为正常值,但在第二种方法中,它具有默认值,而我得到
NullReferenceException
请仔细查看此问题并提供反馈。
答案 0 :(得分:1)
如果我正确地理解从一项行动到另一项行动,您正在失去价值,则可以使用
TempData["IdOfService"] = _fileModel.IdOfService;
TempData.Keep();
要将其保留在“内存”中。