显示 Sweet alert ViewBag Value

Display Sweet alert ViewBag Value

我正在开发 asp.net 核心项目。我可以在 sweealert 中显示 ViewBag 值吗?

Swal.fire({
    title: "Successfully Added!",
    text: "@ViewBag.OrderNo",
    type: "success",
    confirmButtonClass: 'btn btn-primary',
    buttonsStyling: false,
    ....
})

编辑

如果要在 ajax post 返回 后显示甜蜜警报 ViewBag 效果不尽如人意,也没有必要。

ViewBag 只是一个在您呈现页面时传递给视图的对象。将它与 AJAX 一起使用没有任何意义;您的服务器端 Razor 代码仅在初始服务器渲染时运行。

正确的方法是将数据添加到响应数据中。

更改如下:

<script>
    $.ajax({
        type: "POST",
        url: "/home/AddPurchaseOrder",
        contentType: "application/json",
        data: JSON.stringify({ "Id": 5, "PurchaseOrderNo": "2342342424" }),
        success: function (response) {
            Swal.fire({
                title: "Successfully Added!",
                text: response.orderNo,    //change here...
                icon: 'success',
                confirmButtonClass: 'btn btn-primary',
                buttonsStyling: false
            })
        },
        failure: function (response) {
            //...
        }
    });      
</script>

控制器:

public class HomeController : Controller
{        
    [HttpPost]
    public JsonResult AddPurchaseOrder([FromBody] PurchaseOrder purchaseOrder) 
    { 
        string id = purchaseOrder.Id.ToString(); 
        purchaseOrder.OrderNo = DateTime.Now.ToString("yyyyMMdd") + id; 
        //ViewBag.OrderNo = purchaseOrder.PurchaseOrderNo;
        return Json(new { Id= purchaseOrder.Id , OrderNo= purchaseOrder.PurchaseOrderNo }); 
    }
}