我有JavaScript功能:
function notificationDivPressed(element,userId,numberOfUsers) {
$.ajax({
url: '/Notification/ChangeReadStatus',
type: "POST", cache: false,
data: { arg: userId },
success: function (data) {
$('#NotificationsContainer').html(data);
}
});
}
有NotificationsContainer' DIV:
<div id="NotificationsContainer" class="NotivicationsContainerHeader">
<span>თქვენ გაქვთ <span>@ViewBag.NewMessages</span> ახალი შეტყობინება</span>
</div>
这个JavaScript函数在数据库中进行了更改,并且还更改了ViewBag.NewMessages&#39;值。所以我想只刷新这个,而不是整页,并显示&#39; ViewBag.NewMessages&#39;
的新价值我怎么能实现这个目标?
答案 0 :(得分:1)
ViewBag对象继承了asp.net会话对象,无法从.net之外访问它。
答案 1 :(得分:1)
为此,使用ASP.NET语言在服务器端创建ViewBag.NewMessage
的响应,并执行数据库查询,然后创建结果,然后data
会有它的; ViewBag.NewMessage的价值。尝试将div更改为
<span class="viewbag">@ViewBag.NewMessages</span>
现在,只需将其更新为:
success: function (data) {
$('.viewbag').html(data);
}
这样,只有ViewBag的跨度才会更新,而不是整个页面。
因此,当ajax提供一些值时,它将用新的值替换当前值,并且您将在成功时在页面上写入该ViewBag的新值。