ここで困っています。私は、会社が私たちのサイトのユーザーを高く評価したり低く評価したりできるビューを持っています. ユーザーは表に一覧表示され、列には会社がユーザーに賛成または反対するための小さな手の画像があります。そこで ActionLink をプログラムしましたが、会社がユーザーに投票するたびにポストバックが発生するのは望ましくありません。
会社が投票するユーザー ID をリストに入力し、ページを離れるときにフィルターがリクエストをインターセプトし、リストを取得して投票を処理することにしました。この投稿では、アクションを呼び出すときにフィルター パラメーターを初期化する方法を説明しましたが、ご覧のとおり、ユーザーがアクションではなくビューを終了したときに、フィルターがリストを取得する方法が必要です。
コード ビハインドは MVC と組み合わせるとベスト プラクティスではないため、使用したくありませんが、ポストバックもオプションではありません。
これが私がこれまでに持っているものです:
public ActionResult ListUsers()
{
// Create a List with user models and send it to a View,
// which generates a WebGrid
return View(userList);
}
public class PromoteUsersFilter : ActionFilterAttribute
{
public int[] UsersToPromote { get; set; }
public int[] UsersToScrewWith { get; set; }
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
//insert promoting logic here
}
}
ほとんどの Web サイトがこの機能を備えているため、簡単な方法があると思います。誰でもこれで私を案内できますか?