PartialView не работает (вместо этого обновляется вся страница)

Здравствуйте, я новичок в MVC 4. У меня проблема с partialView. Я искал его в Google, много искал и изучал разные учебники, но не смог найти решения, которое могло бы решить мою проблему. Я создал PagedList для отображения записей в индексе. cshtml-страница. Затем я создал страницу PartialIndex.cshtml для отображения записей в частичном представлении. Вот проблема: когда я нажимаю на любой номер страницы или перемещаюсь ... вся страница обновляется и отправляет обратно ... частичный просмотр не работает. Не знаю, где я делаю неправильно. Я хочу показать таблицу внутри DIV в PartialIndex.cshtml

Партиалиндекс.cshtml:

<div id="targetContainer"> //I want to show this DIV in partial view.
<table>
    <tr>
        <th>
            @Html.ActionLink("ID", "Index", new { sortOrder = ViewBag.customerID, currentFilter=ViewBag.CurrentFilter })
        </th>
        <th>
        </th>
        <th>
            @Html.DisplayName("First Name")
        </th>
        <th></th>
        <th>
            @Html.ActionLink("Last Name", "Index", new { sortOrder = ViewBag.lName, currentFilter=ViewBag.CurrentFilter })
        </th>
        <th></th>
        <th>
            @Html.DisplayName("Contact Num")
        </th>

        <th>
            @Html.DisplayName("Address")
        </th>

        <th>
            @Html.DisplayName("Email")
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.customerId)
        </td>
        <td>
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.fName)
        </td>
        <td>
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.lName)
        </td>
        <td>
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.contactNum)
        </td>
        <td>
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.address)
        </td>
        <td>
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.email)
        </td>
        <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.ID })
        @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>

    </tr>
}
</table>
</div>

<br />
       Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

            @Html.PagedListPager(Model, page => Url.Action("Index", 
             new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }), PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(
                                       new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "GET", UpdateTargetId = "targetContainer" }))

Индекс.cshtml:

<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />


@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

@Html.Partial("PartialIndex")

person Muzamil Rafique    schedule 10.12.2014    source источник


Ответы (1)


Вам лучше использовать

Html.RenderPartial("~/Views/Shared/_Yourpartial.cshtml")
person clement    schedule 10.12.2014
comment
путь к PartialIndex.cshtml правильный. Я думаю, вы указываете на страницу пути просмотра. Кстати, я попробовал предложенное вами решение, но оно не сработало. - person Muzamil Rafique; 10.12.2014
comment
@MuzamilRafique: можем ли мы увидеть HTML-код, отображаемый, когда вы получаете страницу? Я не знаю, как работает ваш PagedListPager, поэтому с html это, вероятно, поможет. - person clement; 10.12.2014
comment
да я вижу это. Страница отображается просто, как html, но частичный просмотр с AJAX не работает. Вся страница обновляется, когда я нажимаю на любой номер страницы. - person Muzamil Rafique; 10.12.2014
comment
дайте html, пожалуйста, я не могу вам помочь, если я не вижу Ajax и номера страниц! - person clement; 10.12.2014