如何在 PageModel 的 ASP.NET Core Razor 中显示警报消息
How to show alert message in ASP.NET Core Razor from PageModel
我是 ASP.NET Core 的新手。当 PageModel 中出现异常时,我想向客户端显示一条警告消息。完成此任务的最佳方法是什么?
假设您有一个 PageModel class,您在其中声明了一个像这样的变量
public class CustomerEditModel() : PageModel
{
[TempData]
public string StatusMessage {get;set;}
.....
}
在此 class 中,Post 方法发现自己处于某种类型的异常条件中
public async Task<IActionResult> OnPostAsync()
{
....
catch(Exception ex)
{
_logger.LogError(ex, "Exception in post");
StatusMessage = "An error occurred while saving customer data!";
return Page();
}
}
现在在匹配的 RazorPage 中,您有一个隐藏字段链接到上面的 StatusMessage 属性
<div class="d-none">
<input asp-for="StatusMessage"/>
</div>
最后你添加了一个 javascript 块,它使用 JQuery 和 SweetAlert 来显示你的消息框
@section Scripts {
<script> src="https://cdn.jsdelivr.net/npm/sweetalert2@11.1.7/dist/sweetalert2.all.min.js"></script>
<script>
$(document).ready(function () {
let msg = $('#StatusMessage').val();
if(msg.length > 0) {
swal.fire(msg);
}
}
</script>
我是 ASP.NET Core 的新手。当 PageModel 中出现异常时,我想向客户端显示一条警告消息。完成此任务的最佳方法是什么?
假设您有一个 PageModel class,您在其中声明了一个像这样的变量
public class CustomerEditModel() : PageModel
{
[TempData]
public string StatusMessage {get;set;}
.....
}
在此 class 中,Post 方法发现自己处于某种类型的异常条件中
public async Task<IActionResult> OnPostAsync()
{
....
catch(Exception ex)
{
_logger.LogError(ex, "Exception in post");
StatusMessage = "An error occurred while saving customer data!";
return Page();
}
}
现在在匹配的 RazorPage 中,您有一个隐藏字段链接到上面的 StatusMessage 属性
<div class="d-none">
<input asp-for="StatusMessage"/>
</div>
最后你添加了一个 javascript 块,它使用 JQuery 和 SweetAlert 来显示你的消息框
@section Scripts {
<script> src="https://cdn.jsdelivr.net/npm/sweetalert2@11.1.7/dist/sweetalert2.all.min.js"></script>
<script>
$(document).ready(function () {
let msg = $('#StatusMessage').val();
if(msg.length > 0) {
swal.fire(msg);
}
}
</script>