0

notifications我有一个应用程序可以在应用程序中发生各种事情时创建用户。

每个都notification包含一个link在创建时生成的notification,将用户引导到notification打算引起注意的应用程序部分。

link可以是网站上的任何地方。

创建后, anotification被标记为unread = true,当用户单击link我想将用户带到正确的位置时,还会触发将设置为 的notification操作unread = false

我怎样才能做到这一点?有没有一种方法可以过滤页面上的所有链接,首先将其重定向到将通知设置为unread = false然后将它们带到 url 的操作?我不确定从哪里开始。

4

2 回答 2

2

在链接的 onclick 中执行 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");
}
于 2012-08-30T11:50:44.250 回答
0

或者您可能会过时并使用@Html.ActionLink 生成指向您选择的控制器操作的链接,并在该方法中设置您的值并返回用户应该最终到达的视图。

于 2012-08-30T20:35:53.857 回答