按下活动或非活动按钮在ASP.Net MVC中单击?

时间:2017-12-12 07:10:38

标签: javascript jquery asp.net-mvc asp.net-mvc-4

我从服务器返回json数据,除状态外,每个值都插入表中。

<script>
    $(document).ready(function () {

        $("#DomainID").change(function () {

            var id = $(this).val();
            $("#example tbody tr").remove();

            $.ajax({

                type: 'POST',

                url: '@Url.Action("ViewModules")',
                dataType: 'json',
                data: { id: id },
                success: function (data) {
                    var items = '';
                    $.each(data.EmpList, function (i, item) {
                        $("#findValue").show();

                        /*Find Role here - Comparing Emp List ModuleId to RoleList ModuleId*/

                        var RoleName = $(data.role).filter(function (index, item) {
                            return item.ModuleID == item.ModuleID
                        });

                        if (item.ParentModuleID == -1) {

                            item.ModuleName = " -- " + item.ModuleName
                        }
                        else {
                            item.ModuleName = item.ModuleName
                        }

                        if (item.Status == "Y") {
                            item.Status = + '<a href="/Account/Enable/' + item.ModuleID + '"><img src="~/img/Active.png" height="32" width="32"/></a>'
                        }
                        else (item.Status == "N")
                        {
                            item.Status = + '<a href="/Account/Enable/' + item.ModuleID + '"><img src="~/img/InActive.png" height="32" width="32"/></a>'

                        }

                        var t = i + 1;
                        var rows = "<tr>"
                        + "<td>" + t + "</td>"
                        + "<td>" + item.ModuleName + "</td>"
                        + "<td>" + item.Url + "</td>"
                        + "<td>" + RoleName[i].RoleName + "</td>"
                        + "<td>" + '<a href="@Url.Action("EditModules", "Account")?id=' + item.ModuleID + '" class="font-icon font-icon-pencil"></a>' + item.Status + "</td>"
                            + "</tr>";
                        $('#example tbody').append(rows);
                    });
                },
                error: function (ex) {
                    var r = jQuery.parseJSON(response.responseText);
                    alert("Message: " + r.Message);
                    alert("StackTrace: " + r.StackTrace);
                    alert("ExceptionType: " + r.ExceptionType);
                }
            });
            return false;
        });
    });
</script>

}

如果item.Status == "N"表示将显示InActive图像,如果item.Status == "Y"表示将显示活动图像

但在我的代码状态值中,我没有任何想法。?

控制器:

public ActionResult ViewModules(int id)
        {
            Domain_Bind();
            dynamic mymodel = new ExpandoObject();
            userType type = new userType();


            List<ViewRoleModules> EmpList = type.GetRoleModulesViews(id);
            List<ViewRoleModules> RoleList;
            List<ViewRoleModules> role = new List<ViewRoleModules>();
            foreach (ViewRoleModules emp in EmpList)
            {
                RoleList = type.GetSiteRoleModulesViews(emp.ModuleID);
                foreach (ViewRoleModules vip in RoleList)
                {
                    role.Add(new ViewRoleModules
                    {
                        RoleName = vip.RoleName,
                        ModuleID = vip.ModuleID
                    });
                }
            }

            var data = new { EmpList = EmpList, role = role };

            return Json(data, JsonRequestBehavior.AllowGet);

        }

table

1 个答案:

答案 0 :(得分:0)

对于几个语法错误,您的代码有点乱。希望这会有所帮助:

       $.ajax({
            type: 'POST',
            url: '@Url.Action("ViewModules")',
            dataType: 'json',
            data: { id: id },
            success: function (data) {
                $.each(data.EmpList, function (i, item) {
                    $("#findValue").show();
                    var roleName = $(data.role).filter(function (index, item) {
                        return item.ModuleID == item.ModuleID
                    });

                    var moduleName = item.ModuleName;
                    if (item.ParentModuleID == -1) {
                        moduleName = " -- " + moduleName;
                    }

                    var status = '';
                    if (item.Status == "Y") {
                        status = '<a href="/Account/Enable/' + item.ModuleID + '"><img src="~/img/Active.png" height="32" width="32"/></a>';
                    } else {
                        status = '<a href="/Account/Enable/' + item.ModuleID + '"><img src="~/img/InActive.png" height="32" width="32"/></a>';
                    }

                    var row = "<tr>" +
                    "<td>" + (i + 1) + "</td>" +
                    "<td>" + moduleName + "</td>" +
                    "<td>" + item.Url + "</td>" +
                    "<td>" + roleName[i].RoleName + "</td>" +
                    "<td>" + status + "</td>" +
                    "</tr>";
                    $('#example tbody').append(row);
                });
            },
            error: function (ex) {
                var r = jQuery.parseJSON(response.responseText);
                alert("Message: " + r.Message);
                alert("StackTrace: " + r.StackTrace);
                alert("ExceptionType: " + r.ExceptionType);
            }
        });