微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Razor Pages 中向用户打印消息

如何解决如何在 Razor Pages 中向用户打印消息

我正在使用 Razor Pages 创建一个网络应用程序,但遇到了一个问题。我试图在抛出异常时向用户发送消息。我正在想象类似于 System.Windows.Forms 中的 MessageBox 类的东西。关于这是否可能或如何做到的任何想法?任何帮助表示赞赏。

try
{
    double oneone = Convert.Todouble(Project.projectServicesCost);
}
catch (Exception e)
{
    //Throw message to user saying projectServicesCost is not in the correct 
    //format and therefore Couldn't convert to double
}

这是我的代码中的一个示例。

解决方法

您可以使用 Bootstrap 中的模态并在 ViewBag 上返回异常并检查何时不为空并显示模态

[HttpPost]
public ActionResult Save(int? id){
  UserViewModel model = new UserViewModel();
  if(id == null){
    ViewBag.Exception = "Please select an ID";
    return View();
  }
  model.User = context.Users.FisrtOrDefault(a => a.id == id);
  return View(model);
}

<script>
$(document).ready(function(){
  var exception = @String.IsNullOrEmpty(ViewBag.Exception).ToString().ToLower();
  if(!exception){
    $("#modal-body").text("@ViewBag.Exception");
    $("#modal").modal("show");
  }
});
</script>

或者使用来自 js 的警报

<script>
    $(document).ready(function(){
      var exception = @String.IsNullOrEmpty(ViewBag.Exception).ToString().ToLower();
      if(!exception){
        alert("@ViewBag.Exception");
      }
    });
 </script>

,

您可以使用诸如 NToastNotify 之类的库。

您可以按照以下步骤来实现:

1.使用包控制台管理器安装 NToastNotify 包:

Install-Package NToastNotify

2.配置 NToastNotify 服务和

services.AddRazorPages().AddNToastNotifyNoty();

3.添加中间件:

app.UseNToastNotify();

4.在_Layout页面添加视图:

@await Component.InvokeAsync("NToastNotify")

5.依赖注入IToastNotification就可以使用了

public class IndexModel : PageModel
{
    private readonly ILogger<IndexModel> _logger;
    private readonly IToastNotification _toastNotification;

    public IndexModel(ILogger<IndexModel> logger,IToastNotification toastNotification)
    {
        _logger = logger;
        _toastNotification = toastNotification;
    }

    public void OnGet()
    {
        try
        {
            throw new NullReferenceException();
        }
        catch
        {
            _toastNotification.AddErrorToastMessage("Some Error Message");
        }
    }
}

结果:

enter image description here

更多详情,请参考: https://github.com/nabinked/NToastNotify

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。