簡體   English   中英

如何使用TempData修復字符串的“可為空的對象必須具有值”

[英]How to fix 'Nullable object must have a value' for a string using TempData

我正在檢查用戶是否有與之關聯的付款數據,如果有,則顯示該數據。

我嘗試以各種方式重新定義“ paymentMessage”,但無濟於事。 我收到錯誤消息,paymentMessage必須具有值。

public ActionResult Index() {
  string paymentMessage = (string)TempData["payment_result"];
  PublicBasicDetailsViewModel viewModel = new PublicBasicDetailsViewModel();
  viewModel.Patron = Datasource.GetPatron(CurrentUser.PatronId.Value);
  viewModel.Transactions = Datasource.GetPatronTransactionList(viewModel.Patron.PatronID);
  viewModel.IsFirstLogin = CurrentUser.IsFirstLogin;

  if (CurrentUser.IsFirstLogin) {
    string userIdent = HttpContext.User.Identity.GetUserId();
    Datasource.SetFirstLogin(userIdent);
  }

  if (paymentMessage == null) {
    viewModel.HasPaymentResult = false;
    return View(viewModel);
  }

  else if (paymentMessage == "SUCCESS") {
    viewModel.HasPaymentResult = true;
    return View(viewModel);
  }

  else {
   viewModel.HasPaymentResult = true;
   viewModel.Errors = paymentMessage;
   return View(viewModel);
  }
}

這是我以用戶身份登錄時出現的錯誤消息

異常詳細信息:System.InvalidOperationException:可空對象必須具有一個值。

源錯誤:第57行:字符串paymentMessage =(string)TempData [“ payment_result”];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM