0

notificationsアプリケーション内でさまざまなことが起こったときにユーザーを作成するアプリケーションがあります。

それぞれに、作成時に生成されるがnotification含まれています。これは、ユーザーをアプリケーションの注意を引くことを目的とした部分に誘導します。linknotificationnotification

これlinkは、サイトのどこにでも行うことができます。

作成時に、anotificationはとしてマークされunread = trueます。ユーザーがクリックするlinkと、ユーザーを適切な場所に移動しますが、をに設定するアクションも実行しnotificationますunread = false

どうすればこれを達成できますか?ページ上のすべてのリンクをフィルタリングして、最初に通知を設定するアクションにリダイレクトしてからunread = false、それらをURLに移動する方法はありますか?ここからどこから始めればよいのか正確にはわかりません。

4

2 に答える 2

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");
}
于 2012-08-30T11:50:44.250 に答える
0

または、昔ながらの方法で@ Html.ActionLinkを使用して、選択したコントローラーアクションへのリンクを生成し、そのメソッドで値を設定して、ユーザーが最終的に表示されるビューを返します。

于 2012-08-30T20:35:53.857 に答える