Orchardcms ajax响应中的通知

Orchardcms ajax响应中的通知,orchardcms,Orchardcms,我正在使用ajax请求获取项目中的一个PartialView。我想通过INotifier传递一条消息。 我正在使用HttpStatusCodeResult返回新的HttpStatusCodeResult(204,“消息”)传递有关错误的信息,但不是令人满意的解决方案 $(this).load($(this).attr("href"), function (response, status, xhr) { if (xhr.status == 204) {

我正在使用ajax请求获取项目中的一个PartialView。我想通过INotifier传递一条消息。 我正在使用HttpStatusCodeResult
返回新的HttpStatusCodeResult(204,“消息”)
传递有关错误的信息,但不是令人满意的解决方案

 $(this).load($(this).attr("href"), function (response, status, xhr) {
        if (xhr.status == 204) {
            // show message
        }
    });

我想知道在ActionResult中使用标准的
INotifier.Error()
是否可能。默认通知程序不适用于AJAX请求。它所做的是在临时集合中对通知进行排队。然后,当请求结束时,队列通知被写入客户端-推送到
Layout.Messages
区域


在您的情况下,最好实现您自己的符合所需逻辑的
INotifier
。这是一个非常容易实现的接口,因此实际上没有那么多工作。

我不需要实现INotifier,我只在我的部分视图中放置了以下内容:

@Display(WorkContext.Layout.Zones["Messages"])
现在,消息不会呈现在主区域(在使用过的主题的Layout.cshtml中),但可以放置在PartialView中的任何位置,例如受影响的表下