データベースから取得したオブジェクトを表示する JQuery プラグインのデータテーブルがあります。各行の最後には「編集」ボタンがあり、クリックすると、ユーザーがオブジェクトを変更できるフィールドを含むポップアップが開きます。
以下のコードは、ポップアップを開く「編集」ボタンです。
<td>@Ajax.ActionLink("Edit",
"controllerMethodReturningEditView",
new
{
Id = @m.Id
},
new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = "popupBox",
InsertionMode = InsertionMode.Replace,
OnSuccess = "openPopup('myPopup')"
})</td>
編集ボタンを押したときに呼び出されるコントローラー メソッドは、ポップアップ ボックスに表示される部分的なビューを開くだけです。
return PartialView("editObjectView", objectModel);
この「editObjectView」には、入力用のフィールドを持つフォームが含まれているだけです。
@using(Html.BeginForm(...
<label>...</label><input ... />
.... and so on
次に、このポップアップで、ユーザーは表示されたオブジェクトの値を編集できます。ユーザーがポップアップの「保存」ボタンを押すと、新しい値がコントローラー メソッドに送信され、その値が (オブジェクトに) データベースに保存されます。値が保存されると、コントローラー メソッドは、最初のビュー (データ テーブルを表示するビュー) をロードしたコントローラー メソッドを呼び出し、そのメソッドは、新しいオブジェクトまたはオブジェクトへの変更を表示するために、データベースからすべてのオブジェクトを要求します。
ここで質問です。オブジェクトが編集された後にページがリロードされたとき、編集された行のスタイルを変更するにはどうすればよいですか? 最近編集した行の周りに赤い境界線を設定するだけです。ページをリロードするために使用されるすべてのコントローラー メソッドを介してオブジェクトを送信する必要がないようにしたいと考えています。
助けてくれてありがとう、ありがとう!