Bootstrap Notify アラートを、ユーザーが閉じるまで表示されたままにし、自動で閉じないようにしようとしています。これを行うには、ドキュメントの理解に従って、設定を にdelay
設定し0
ます。これは、後に含まれる私のJSファイルですbootstrap-notify.js
:
$(function () {
var alertTemplate = $("#notify-template").html();
$.notifyDefaults({ target: "_self" }, { type: "warning", delay: 0, template: alertTemplate });
});
var toasterNotify = function (alertTitle, alertMessage, alertUrl) {
alertUrl = alertUrl || "#";
$.notify({ title: alertTitle, message: alertMessage, url: alertUrl }, { delay: 0 });
}
このtoasterNotify
関数は、ビュー内のボタンのイベントから直接呼び出すと期待どおりに機能しclick
ますが、サーバーからの SignalR コールバックから呼び出すと、以下のようにアラートが表示されるとすぐに閉じます。
var hubProxy = $.connection.applicationHub;
hubProxy.client.alertNewClaim = function (model) {
toasterNotify(model.SourceFullName, model.Message);
};
編集:
関連するコントローラー アクションが、ビューの結果を返す直前に SignalR メッセージをクライアントにプッシュすることがわかりました。そのため、クライアントはすぐに SignalR メッセージを受信してアラートを表示しますが、返されたビューによってページが更新されるだけで、アラートはすぐに削除されます。これを回避する方法はまだわかりません。