我搜索了相当一段时间,所以我很抱歉,如果这是一个重复的职位。Viewbag数据不能从控制器持续查看?
我想禁用jquery对话框上的保存按钮,如果用户没有足够的权限,由应用程序定义。但是,在将数据库中的权限更改为只读(因此禁用保存按钮)之后,我仍然能够保存更改。
我试图在我的控制器中的ViewBag对象中设置一个值,并返回一个局部视图。在控制器中的代码是:
Boolean blnReadOnlyPermissions = IdentityHelper.ReadOnly;
if (blnReadOnlyPermissions)
{
ViewBag.ReadOnlyPermissions = '0';
}
else
{
ViewBag.ReadOnlyPermissions = '1';
}
在控制器中,我曾尝试双引号(“),整数值,与实际的文字(”真”,‘真’),都无济于事设置。对于ViewBag值的代码执行成功,我可以看到,ViewBag至少在控制器中设置
视图代码是:
function EditDialogFocus() {
var ReadOnlyPermissions = '@ViewBag.ReadOnlyPermissions';
if (ReadOnlyPermissions == '0') {
$('#dialog-Edit').attr('disabled', true);
$('#btnSave').attr('disabled', true);
} else {
$('#dialog-Edit').attr('disabled', false);
$('#btnSave').attr('disabled', false);
}
}
jQuery的对话框是:
$('#dialog-Edit').dialog({
open: EditDialogFocus,
autoOpen: false,
width: 1000,
resizable: false,
title: 'Edit Customer',
modal: true,
position: ['center', 'middle'],
buttons: [
{
id: "btnCancel",
text: "Cancel",
click: function() { $(this).dialog("close"); }
}, {
id: "btnSave",
text: "Save",
click: function() { UnloadForm(); SaveCustomer(); }
}
]
});
有什么建议吗? 感谢您的帮助。
如果你在'var ReadOnlyPermissions ='0'上更改'var ReadOnlyPermissions ='@ ViewBag.ReadOnlyPermissions';''会不会像预期的那样工作? 什么'ReadOnlyPermissions'等于分配后? – Dima
@Dima - 我也尝试过,没有成功。 ReadOnlyPermissions等于0,当我把它分配给var后立即放入一个警告框 – user2607902
你是什么意思,说'没有成功'?这是否意味着你的JS不能使用硬编码变量的值? – Dima