我尝试使用jquery在视图中渲染局部视图,但部分视图的部分不会出现在运行时

时间:2016-11-26 19:26:30

标签: c# jquery asp.net-mvc html5

这些是控制器中的动作:

console.log

以下是AdminRoles()操作,其中包含将带来部分视图GetJminRoles的JQuery脚本 注意:我尝试了几个脚本(在注释标记之间)

 public ActionResult AdminRoles(int? selectedValue)
        {
            if (!LogedUser.InRole(Functions.User, Roles.View)) return RedirectToAction("Login");

           return View(db.Users.Where(u => u.Id != 1));
       }
      [HttpGet]
    public ActionResult GetAdminRoles(int Id)
    {
        var secRole = db.SecurityRoles.Where(s => s.AdminId == Id);
        var func = db.SystemFunctions.ToList();

        if (func.Count() > secRole.Count())
        {
            foreach (var item in func)
            {
                if (secRole.Where(s => s.SystemFunctionId == item.Id).Count() <= 0)
                {
                    SecurityRoles sec = new SecurityRoles();
                    sec.AdminId = Id; sec.SystemFunctionId = item.Id;
                    sec.CanView = false; sec.CanAdd = false; sec.CanEdit = false; sec.CanDelete = false;
                    db.SecurityRoles.Add(sec);
                    db.SaveChanges();
                }
            }
        }

        return PartialView("GetAdminRoles",db.SecurityRoles.Where(s => s.AdminId == Id));
    }
    [HttpPost]
    public ActionResult GetAdminRoles(int hdnAdminIDs, int[] CanView, int[] CanAdd, int[] CanEdit, int[] CanDelete)
    {
        var list = db.SecurityRoles.Where(o => o.AdminId == hdnAdminIDs).ToList();

        foreach (var item in list)
        {
            if (CanView != null && CanView.Contains(item.Id))
                item.CanView = true;
            else
                item.CanView = false;


            if (CanAdd != null && CanAdd.Contains(item.Id))
                item.CanAdd = true;
            else
                item.CanAdd = false;


            if (CanEdit != null && CanEdit.Contains(item.Id))
                item.CanEdit = true;
            else
                item.CanEdit = false;


            if (CanDelete != null && CanDelete.Contains(item.Id))
                item.CanDelete = true;
            else
                item.CanDelete = false;
        }
        db.SaveChanges();

        return RedirectToAction("AdminRoles");
    }

这是GetAdminRoles的视图

 @model IEnumerable<Arabawy.Models.User>
 @{
   ViewBag.Title = "ContactusMessages";
   Layout = "~/Views/Shared/_LayoutAdmin.cshtml";
   ViewBag.CurrentURI = "/IWS/adminroles".ToLower();
  }

<script>
    $(function () {

        @*$.get('@Url.Content("~/IWS/GetAdminRoles/")' + "?Id=" + $('#AdminIDs').val(), function (data) {

            /* data is the pure html returned from action method, load it to your page */
            $('#partialPlaceHolder').html(data);
            /* little fade in effect */
            $('#partialPlaceHolder').fadeIn('fast');
        });*@


        $('#AdminIDs').change(function () {
            debugger
            /* Get the selected value of dropdownlist */
            var selectedID = $(this).val();

            /* Request the partial view with .get request. */
            $.get('@Url.Content("~/IWS/GetAdminRoles/")' + "?Id=" + selectedID, function (data) {

                /* data is the pure html returned from action method, load it to your page */
                $('#partialPlaceHolder').html(data);
                /* little fade in effect */
                $('#partialPlaceHolder').fadeIn('fast');
            });

        });
    });
</script>

<div class="pages_inner_content">
    <div class="title_page_start">
        <div class="right_title">
            <h2>صلاحيات المشرفين</h2>
            <h2><span>تحديث  صلاحيات المشرفين</span></h2>
        </div>
        <div class="left_lisks">
            <ul class="links_buttons">
                @{if (Arabawy.LogedUser.IsLoged() &&
                Arabawy.LogedUser.InRole(Arabawy.Controllers.IWSController.Functions.User, Arabawy.Roles.Edit))
                {
                <li class="add_fo">
                    <a href="javascript:;" onclick="submitForm()" data-hover="حفظ"><span> حفظ </span></a>
                </li>
                }}
                <li class="exit">
                    <a href="@Url.Action("Index")">خروج</a>
                </li>
            </ul>
        </div>
    </div><!--title_page_start-->

    <div class="bread_cramb bread_cramb_akh_ed">
        <h3> أدوات الأداره  &nbsp; <span> صلاحيات المشرفين </span> </h3>
    </div>  <!--bread_cramb-->


    <div class="block_in_editor">
        <h3>صلاحيات المشرفين</h3>

        <div style="clear:both"></div>

        <div class="add_khaber_form">
            @Html.ValidationSummary(false)

            <hr />
            <div class="blog_form_input">
                <label>اختر  : </label>
                <select class="select" id="AdminIDs" name="AdminIDs">
                    <option value="" selected>&lt; اختر المشرف &gt;</option>
                    @{foreach (var item in Model)
                    {
                        <option value="@item.Id">@item.DisplayName</option>
                    }}
                </select>
            </div>
        <br />

            <div id="partialPlaceHolder" style="display:none;"> </div>


        </div><!--add_khaber_form-->

    </div><!--block_in_editor-->
</div><!--pages_inner_content-->

所以,为什么我的部分视图没有出现在运行时间??? !!!! 有什么不对的吗 ???!! 请帮我 !!!!!!!!!!!!!!!!!!!!!

1 个答案:

答案 0 :(得分:0)

使用浏览器导航到该部分视图,以确定它正在返回您所期望的内容。一旦确定返回了预期的HTML,那么您的代码应该可以正常工作。