Каков наилучший способ использования ajax jquery для загрузки частичных представлений на определенную страницу? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть страница индекса, код выглядит следующим образом

@model PagedList.IPagedList<PartialViews.Models.Customer>
@using PagedList.Mvc

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<div class="container">
    <table class="table">
        <tr>
            <th>
                Title
            </th>
            <th>
                First Name
            </th>
            <th>
                Last Name
            </th>
            <th>
                Email Address
            </th>
            <th>
                Phone Number
            </th>
            <th>
                Modified Date
            </th>
            <th></th>
        </tr>

        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Title)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.FirstName)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.LastName)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.EmailAddress)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Phone)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.ModifiedDate)
                </td>
                <td>
                    @Html.ActionLink("Edit", "Edit", new { id = item.CustomerID }) |
                    @Html.ActionLink("Details", "Details", new { id = item.CustomerID }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.CustomerID })
                </td>
            </tr>
        }

    </table>

    @Html.PagedListPager(Model,page=>Url.Action("Index",new{page,pageSize=Model.PageSize}))

</div>

У моего CustomersController есть этот код

private AdventureWorksLT2012Entities db = new AdventureWorksLT2012Entities();
// GET: Customers
public ActionResult Index(int page=1, int pageSize=10)
{
    List<Customer> customers = db.Customers.ToList();
    PagedList<Customer> cust = new PagedList<Customer>(customers,page,pageSize);
    return View(cust);
    //return View(db.Customers.ToList());
}

Вот главная страница, где я хочу список клиентов из действия Indexчтобы быть отображенным

@model PartialViews.Models.Customer

@{
    ViewBag.Title = "Main";
}

<body>

<div class="container">
    <h2>Customer's List</h2>
    <div id="dvCustomerDetails" style="width: 50%; height: 130px;display: none"></div>
</div>

</body>

<script type="text/javascript">
    $.ajax({
        url: 'Customers/Index',
        contentType: 'application/html;',
        type: 'GET',
        dataType:'html'
    })
        .success(function(result) {
            $('#dvCustomerDetails').html(result);
        })
</script>

Я хочу отобразить эту таблицу на новой странице как частичное представление, используя ajax jquery, но у меня возникают проблемы с его реализацией.Мне удалось использовать метод RenderPartial, чтобы отобразить его как частичное представление, но у меня возникли проблемы с этим с ajax.Будем благодарны за любую помощь или предложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...