i write this code with ajax to delete some info after that i update my updateAjax div with ajax for refreshing content and this view have masterpage.in picture u see what happen. enter image description here enter image description here

this is my code

@using Common.UsersManagement.Entities;
@model IEnumerable<VwUser>
@{
    Layout = "~/Views/Shared/Master.cshtml";
}

<form id="userForm">
    <div id="updateAjax">
        @if (string.IsNullOrWhiteSpace(ViewBag.MessageResult) == false)
        {
            <div class="@ViewBag.cssClass">
                @Html.Label(ViewBag.MessageResult as string)
            </div>
            <br />
        }
        <table class="table" cellspacing="0">
            @foreach (VwUser Item in Model)
            {   
                <tr class="@(Item.IsActive ? "tRow" : "Disable-tRow")">
                    <td class="tbody">
                        <input type="checkbox" id="@Item.Id" name="selected"  value="@Item.FullName"/></td>
                    <td class="tbody">@Item.FullName</td>
                    <td class="tbody">@Item.Post</td>
                    <td class="tbody">@Item.Education</td>
                </tr>
            }
        </table>
    </div>
    <br />
    <br />
    <div class="btnContainer">
        <a href="#" id="DeleteUser" class="insertBtn">delete  </a>
        <br />
        <br />
    </div>

    <script>
        $(function () {
            // function for delet info and update #updateAjax div
            $("#DeleteUser").click(function (event)  {
                var list = [];
                $('#userForm input:checked').each(function () {
                    list.push(this.id);

                });
                $.ajax({
                    url: '@Url.Action("DeleteUser", "UserManagement")',
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    dataType: "html",
                    traditional: true,
                    data: JSON.stringify(list),
                    success: function (data, textStatus, jqXHR) {
                        $('#updateAjax').html(data);
                      //  window.location.reload()
                    },
                    error: function (data) {
                        //$('#updateAjax').html(data);
                        window.location.reload()
                    }
                });   //end ajax

            });});
    </script>

</form>

this my controller code

public ActionResult View1()
        {
            ViewBag.PageTittle = "user list";
            ViewBag.FormTittle = "user list";
            SetUserManagement();
            var Result = userManagement.SearchUsers(null);
            if (Result.Mode == Common.Extensions.ActionResultMode.Successfully)
            {
                return View(Result.Data);
            }
            else
            {
                return View(new VwUser());
            }

        }
 public ActionResult DeleteUser(string[] userId)
        {
            SetUserManagement();
            string message = "", CssClass = ""; ;
            foreach (string item in userId)
            {
                //TODO:show Message 
                var Result = userManagement.DeleteUser(int.Parse(item));

                if (Result.Mode != Common.Extensions.ActionResultMode.Successfully)
                {
                    var messageResult = XmlReader.FindMessagekey(Result.Mode.ToString());
                    message += messageResult.MessageContent + "<br/>";
                    CssClass = messageResult.cssClass;
                }
            }
            if (string.IsNullOrEmpty(message))
            {
                SetMessage(Common.Extensions.ActionResultMode.Successfully.ToString());
            }
            else
            {
                ViewBag.MessageResult = message;
                ViewBag.cssClass = CssClass;
            }
            //
            {
                var Result = userManagement.SearchUsers(null);
                if (Result.Mode == Common.Extensions.ActionResultMode.Successfully)
                {
                    return View("~/Views/UserManagement/View1.cshtml", Result.Data);
                }
                else
                {
                    return View("~/Views/UserManagement/View1.cshtml", new VwUser());
                }
            }

        }
有帮助吗?

解决方案

It looks to me that your view ViewUserList.cshtml is using a Layout that would either be set through Layout or through the _ViewStart.cshtml file. Make sure you're not using any of these.

For disabling the use of your Layout, you could take a look at this question. Or just set Layout = null

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top