我是 ASP.NET Core 的新手。我想在 PageModel 中引發例外時向客戶端顯示警報訊息。完成這項任務的最佳方法是什么?
uj5u.com熱心網友回復:
假設您有一個 PageModel 類,您在其中宣告了一個像這樣的變數
public class CustomerEditModel() : PageModel
{
[TempData]
public string StatusMessage {get;set;}
.....
}
在此類內部,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>
最后,您添加一個使用 JQuery 和 SweetAlert 的 javascript 塊來顯示您的訊息框
@section Scripts {
<script> src="https://cdn.jsdelivr.net/npm/[email protected]/dist/sweetalert2.all.min.js"></script>
<script>
$(document).ready(function () {
let msg = $('#StatusMessage').val();
if(msg.length > 0) {
swal.fire(msg);
}
}
</script>
即使應用了 TempData 屬性,也不要忘記始終在 Get 方法中將 StatusMessage 變數設定為空。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422407.html
標籤:
