我使用SignalR 1.1.3
在我的asp.net mvc 4
项目中进行实时通知。我可以在消息框中添加新消息,但我无法更新新的消息计数器。这里是我的代码更新新的消息计数器,使用SignalR更新通知计数器
jQuery脚本
$(function() {
var chat = $.connection.chatHub;
var notifyVal = $('.notification-red').val();
var newVal = notifyVal + 1;
chat.client.addNewMessageToPage = function() {
$('#newItem').append(
'<span class="notification-red">' + newVal + '</span>');
};
$.connection.hub.start().done(function() {
$('#btnSend').click(function() {
chat.server.send();
});
});
});
HTML
<ul id="newItem" class="nav navbar-top-links navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-envelope fa-fw"></i><i class="fa fa-caret-down"></i>
@{
int count = 0;
}
@foreach (var item in MsgList)
{
if (Html.DisplayFor(modelItem => item.status).ToString() == "Unread")
{
count++;
}
<span class="notification-red">@count</span>
}
</a>
</li>
</ul>
这里发生的是,每当我从对方发送消息,而不是更新计数器号码,新的计数器追加。我如何只更新SignalR每次点击的号码?糟糕的需要这个帮助。谢谢。
谢谢,但它没有奏效。没有更新!我其实之前尝试过这种方式! –
那么现在有更多的故事,没有与SingalR合作,但我知道它是什么,你确定,你的信息是正确的?因为它看起来像没有被称为那么...你也不能升级到最新信号? – Seabizkit
我正在使用VS2012&设置SignalR 2,我不得不为它花费更多的麻烦,因为我没有时间。此外,我只用它来做一个实时更新通知只有1页,所以版本不应该是一个问题。请仔细阅读我的文章,我已经提到新消息正在更新成功,所以很显然,我的SignalR设置没问题。 –