我需要顯示通知給我的網站的用戶。當用戶點擊通知按鈕時,它應該隱藏計數器。而僅顯示通知的NotificationIsSeen是假在div點擊設置複選框爲true Ajax MVC 5
我的模型
//other fields
[Display(Name = "Viewed")]
public bool NotificationIsSeen { get; set; }
我的控制器編輯
public ActionResult Index()
{
var notification = (from r in db.Notification
where r.NotificationIsSeen == false
select r);
ViewBag.NotificationIsSeen = false;
ViewBag.NotifyTotal = notification.Count();
return View();
}
我的觀點編輯
<!-- Menu toggle button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-envelope-o" id="notify_button"></i>
@if (ViewBag.NotifyTotal > 0)
{
<span class="label label-success" id="notify_counter">@ViewBag.NotifyTotal</span>
}
else
{
<span class="label label-success" id="notify_counter"></span>
}
</a>
我的Ajax代碼:
<script>
$('#notify_button').click(function() {
$('#notify_counter').fadeOut('slow');
$.ajax({
url: "@(Url.Action("Index", "Home"))",
type: 'POST',
data: {
NotificationIsSeen: "True" //I am not sure if this is correct
}
});
});
onclick notify_button它隱藏了notify_counter,但它在刷新頁面上再次出現。
有什麼想法? 謝謝
貴'ajax'請求更新數據庫? –
如果你只想顯示沒有被看到的通知,那麼你的查詢應該有一個'.Where(x =>!NotificationIsSeen)',你的ajax調用應該調用一個控制器方法來將該值設置爲'false' –
不,它不更新數據庫。 – touinta