c#guid字段收到空值

时间:2019-03-18 12:44:50

标签: c# asp.net-core controller guid

我有以下代码:

     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

请仔细查看此问题并提供反馈。

1 个答案:

答案 0 :(得分:1)

如果我正确地理解从一项行动到另一项行动,您正在失去价值,则可以使用

TempData["IdOfService"] = _fileModel.IdOfService; 
TempData.Keep();

要将其保留在“内存”中。