SOをかなり長い間検索したので、これが重複した投稿である場合はお詫び申し上げます。
アプリで定義されているように、ユーザーの権限が不十分な場合、jquery ダイアログの保存ボタンを無効にしたいと考えています。ただし、データベースのアクセス許可を読み取り専用に変更した後 (保存ボタンを無効にした後) は、変更を保存できます。
コントローラーの ViewBag オブジェクトに値を設定し、部分ビューを返そうとしています。コントローラーのコードは次のとおりです。
Boolean blnReadOnlyPermissions = IdentityHelper.ReadOnly;
if (blnReadOnlyPermissions)
{
ViewBag.ReadOnlyPermissions = '0';
}
else
{
ViewBag.ReadOnlyPermissions = '1';
}
コントローラーで、二重引用符 (")、整数値、および実際のテキスト ("True"、"True") を試しましたが、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(); }
}
]
});
助言がありますか?助けてくれてありがとう。