我有以下代码:
public IActionResult Index()
{
_fileModel = new FileModel { Files = _fileService.GetFilesForArchivation(), IdOfService = default(Guid) };
return View(_fileModel);
}
而且我也实现了两种方法:
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
请仔细阅读此问题并提供反馈。
如果我从一个动作到另一个动作正确理解你正在失去你的价值,你可以使用
TempData["IdOfService"] = _fileModel.IdOfService;
TempData.Keep();
把它保存在“记忆中”。