所以当用户点击编辑链接编辑其中一个客户端(字段)而另一个用户已擦除该客户端时,如何向用户显示客户端(字段)已消失?
所以我使用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>
答案 0 :(得分:1)
您好,您可以使用以下代码验证数据,然后用户可以编辑
var validateForEdit = function (id) {
var validateCallbackFunction = function (result) {
if (result) {
window.location = '/Client/Edit/' + id;
}
else {
Alert('this client have be erase for other user');
}
};
$.post('/Client/ValidateForEdit/', { id: id }, validateCallbackFunction, 'json');
}
你的行动:
[HttpPost]
public JsonResult ValidateForEdit(int id)
{
var cliente = db.Clients.Find(id);
return cliente != null ? Json(true) : Json(false);
}
修改您必须替换以下代码
@Html.ActionLink("Editar", "Edit", new { id=item.id })
使用此代码:
<input class="button" type="button" value="Edit" onclick="validateForEdit(item.id)" />
希望得到这个帮助。