0

ASP.NET MVC プロジェクトにこの jQuery 関数があります

        $(document).on("click", "a.grid-activate-user", function (evt) {
                evt.preventDefault();
                var id = $(this).data("id");
                var page = $("#usersGrid").data("page");
                $.post("@Url.Action("Unlock", "AdminUsers")", { id: id }, function (result) {
                    if (!result.Succeeded) {
                        toastr.error(result.Message, "Error", { positionClass: "toast-top-right" });
                    } else {
                        toastr.success(result.Message, "Info", { positionClass: "toast-bottom-right" });
                    }
                    loadGrid(page);
                });
            });

ここで、使用するモデルのプロパティが 1 つあるかどうかを確認する必要がありますModel.ActionsAllowed == true
このクリック関数を実行する必要がある場合Model.ActionsAllowed == true、それ以外の場合は何もする必要はありませんが、関数にこのチェックを追加する方法がわかりません。

UPD使用しようとすると

$(document).on("click", "a.grid-activate-user", function (evt) {
            evt.preventDefault();
            var id = $(this).data("id");
            var page = $("#usersGrid").data("page");
            if (Model.ActionsAllowed) {
                $.post("@Url.Action("Unlock", "AdminUsers")", { id: id }, function (result) {
                    if (!result.Succeeded) {
                        toastr.error(result.Message, "Error", { positionClass: "toast-top-right" });
                    } else {
                        toastr.success(result.Message, "Info", { positionClass: "toast-bottom-right" });
                    }
                    loadGrid(page);
                });
            };
        });

それは動作しますが、私はUse of Implicity 宣言されたグローバル変数 'Model'を取得します。修正方法は?

4

1 に答える 1

0

Model.ActionsAllowed == trueこれを回避する1つの方法は、非表示フィールドに値を入れて、JSでそれを参照することです

たとえば、あなたの見解では

@Html.Hidden("hid-actions-allowed", Model.ActionsAllowed)

そしてあなたのJSで

$(document).on("click", "a.grid-activate-user", function (evt) {
    evt.preventDefault();
    var id = $(this).data("id");
    var page = $("#usersGrid").data("page");
    if ($('#hid-actions-allowed').val()) {
        $.post("@Url.Action("Unlock", "AdminUsers")", { id: id }, function (result) {
            if (!result.Succeeded) {
                toastr.error(result.Message, "Error", { positionClass: "toast-top-right" });
            } else {
            toastr.success(result.Message, "Info", { positionClass: "toast-bottom-right" });
            }
            loadGrid(page);
        });
    };
});
于 2013-06-21T10:29:43.833 に答える