我有一个场景,只有部分用户有权更新字段。我正在尝试将jEditable放在适当位置以允许对字段进行编辑,并希望在控制器中检查后端的权限,如下所示:
public JsonResult UpdateComment(string MRN, string comment)
{
if (this.HttpContext.User.CanComment())
{
return this.Json(new
{
Status = "OK",
value = this.service.UpdateComment(MRN, comment)
});
}
return this.Json(new { //???? });
}
我的观点如下:
@model MyApp.ViewModels.DetailViewModel
<div>
....
<span id="txtSource">@Html.DisplayFor(m=>m.Source)</span>
<span id="txtMRN">@Html.DisplayFor(m=>m.MRN)</span>
<span id="@Model.CommentIdName">@Html.DisplayFor(m=>m.Comments)</span>
....
</div>
<script type="text/javascript">
$(function() {
$('#editComment').editable("/@Model.Source/UpdateComment",
{
id: 'mrn',
name: 'comment',
type: 'textarea',
cancel: 'Cancel',
submit: ' OK',
tooltip: 'Click to Edit Comment...'
});
});
</script>
如果用户没有“评论”权限,则需要取消编辑,并将字段值恢复为原始值。
我已经在我的视图中设置了将字段的id更改为jEditable在呈现视图时不寻找的内容,因此可以处理大多数场景而无需在后端处理它。
我正在尝试保护数据并返回合理的响应,我不知道需要哪些代码来代替评论//?????。
修改
修正了javascript问题并将其放入视图中进行了简化。