You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maui中DisplayPromptAsync点击Cancel触发空引用异常求助

解决MAUI中DisplayPromptAsync点击Cancel触发空引用异常的问题

问题根源在于:当用户点击Cancel按钮时,DisplayPromptAsync会返回null,此时直接调用ResultName.ToString()就会触发NullReferenceException。要实现点击Cancel仅关闭弹窗、不做任何更改的预期效果,只需在处理返回值前增加空值判断即可。

修复后的代码如下:

private async void NameClicked(object sender, EventArgs e)
{       
   var ResultName = await DisplayPromptAsync("Insira seu Nome", "Favor inserir seu Nome","Ok", "Cancel");
   // 仅当返回值不为null时(即点击Ok按钮),执行后续操作
   if (ResultName != null)
   {
       LabelName.Text = ResultName;
       await DisplayAlert("Nome Alterado","Seu Nome Foi alterado com Sucesso","OK");
   }
   // 点击Cancel时返回null,直接跳过后续逻辑,仅关闭弹窗
}

补充说明:

  • ResultName本身就是字符串类型,无需额外调用ToString(),直接赋值给LabelName.Text即可,这也能避免不必要的方法调用。
  • 空值判断会过滤掉点击Cancel的场景,完全符合你“仅关闭弹窗且不做任何更改”的需求。

内容的提问来源于stack exchange,提问作者D3atHpR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:10:29