检查安全性后更新可编辑文本字段

时间:2012-11-01 16:38:26

标签: c# javascript asp.net-mvc-3 jeditable

我有一个场景,只有部分用户有权更新字段。我正在尝试将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问题并将其放入视图中进行了简化。

0 个答案:

没有答案