ユーザーが編集リンクをクリックしてクライアント (フィールド) の 1 つを編集し、別のユーザーがそのクライアントを既に消去している場合、クライアント (フィールド) がなくなったことをユーザーにどのように示すことができますか?
だから私はTempDataを使用していますが、それを行う別の方法ですか? jqueryだと思うのですが、正しい使い方がわかりません
public ActionResult Edit (int id)
{
client cliente = db.Clients.Find(id);
if (cliente != null)
{
return View(cliente);
}
TempData["message"] = string.Format("this client have be erase for other user");
return RedirectToAction("Index");
}
編集:
そしてビューはこれです
<table class="widgets">
<tr>
<th></th>
<th>
@Html.ActionLink("Nombre", "Index", new { ordenacion = ViewBag.NameSortParm, filtro = ViewBag.filtro })
</th>
</tr>
@foreach (var item in Model) {
<tr id="widget-id-@item.id">
<td>
@Html.ActionLink("Editar", "Edit", new { id=item.id }) |
@Ajax.ActionLink("Eliminar", "Eliminar", "Cliente",
new {item.id },
new AjaxOptions {
HttpMethod = "POST",
Confirm = string.Format("Esta Seguro que quiere eliminar '{0}'?", item.descripcion),
OnSuccess = "deleteConfirmation"
})
</td>
<td>
@Html.DisplayFor(modelItem => item.descripcion)
</td>
</tr>
}
</table>
スクリプトはこれになると思いますか?@Ajax.ActionLink を使用して、削除 (エリミナー) リンクの場合と同じように、編集リンクを作成する必要があります。
<script type="text/javascript">
var validateForEdit = function (id) {
var validateCallbackFunction = function (result) {
if (result) {
window.location = '/Client/Editar/' + id;
}
else {
window.Alert('this client have be erase for other user');
}
};
$.post('/Client/ValidateForEdit/', { id: id }, validateCallbackFunction, 'json');
}
</script>