我有一个应用程序,可以在应用程序中发生各种事情时创建用户notifications
。
每个notification
都包含link
,该notification
是在创建notification
时生成的,link
将用户引导到notification
打算引起注意的应用程序部分。< / p>
此unread = true
可以是网站上的任何位置。
创建后,link
被标记为notification
,当用户点击unread = false
我想将用户带到正确的位置时,还会触发操作这会将unread = false
设置为{{1}}。
我怎样才能做到这一点?有没有办法可以过滤页面上的所有链接,首先将其重定向到将通知设置为{{1}}然后将其带到网址的操作?我不确定从哪里开始。
答案 0 :(得分:2)
点击链接
进行Ajax调用$("a").click(function(){
$.ajax({
url: "url_to_make_notification_read",
data: notification_id;
});
});
编辑:另一种解决方案(可能更好)
或许您根本不需要额外的Ajax调用。如果我理解你的问题,我相信你会采取以下行动:
public ActionResult VisitNotification(int notificationId){
// Do things
return View("whatever");
}
只需将其更改为
即可public ActionResult VisitNotification(int notificationId){
// Do things
var notification = Repository.GetNotification(notificationId);
notification.unread = false;
Repository.Save();
return View("whatever");
}
答案 1 :(得分:0)
或者你是老式的,并使用@ Html.ActionLink生成一个指向您选择的控制器动作的链接,并在该方法中设置您的值并返回用户最终应该查看的视图。