MVC 3 Partial View не работает - PullRequest
0 голосов
/ 22 июня 2011

Вместо повторного частичного просмотра на странице, он загружается на новую страницу.Вот мой код:

КОНТРОЛЛЕР:

    public ViewResult Index()
    {
        ViewBag.Batch = 0;
        return View();            
    }

    public PartialViewResult ViewMore(int batch)
    {
        ViewBag.Batch = batch;
        var artist = db.Artists.ToList().OrderBy(x => x.Name).Skip(10 * batch).Take(10);
        return PartialView("_ViewMoreArtist", artist);
    }

VIEW (индекс)

@Ajax.ActionLink("View More...",
    "ViewMore", new { batch = ViewBag.Batch + 1}, new AjaxOptions
    {
         UpdateTargetId = "viewMore",
         InsertionMode = InsertionMode.InsertAfter,
         HttpMethod = "GET"
         //,LoadingElementId = "progress"                     
    })

<div id="viewMore"></div>

VIEWS - (_ViewMoreArtist) @model IEnumerable

@foreach (var artist in Model)
{
    @Html.ActionLink(artist.Name, "Browse", new { id = artist.ArtistId })
    <br />
}

VIEWS - (_Layout)

<!DOCTYPE html> <html> <head>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"  type="text/javascript">/script>      
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>  </head> <body>

<div id="main">
    @RenderBody()
</div>
 </body> </html>

ПРИМЕЧАНИЯ. Я уже добавил файл jquery.unobtrusive-ajax.js в _Layout ... Я пытаюсь сделать это с помощью примера проекта MVCMusicStore.Добавлена ​​страница для просмотра артиста с 10 результатами и возможностью просмотра большего результата ...

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Вещи для проверки:

  • Файл jquery-1.4.4.min.js существует в папке Scripts
  • Файл jquery.unobtrusive-ajax.js существует в папке Scripts.
  • У вас нет ошибок javascript в консоли отладки вашего браузера (рекомендуется FireBug)
  • В вашем web.config включен ненавязчивый javascript ajax:

    <appSettings>
        ...
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
    </appSettings>
    

Что попробовать:

  • Используйте более свежую версию jquery (как минимум 1.5), я не уверен, что jquery.unobtrusive-ajax.js совместим с jQuery 1.4.4.
1 голос
/ 22 июня 2011

У вас есть страница _ViewMoreArtist.cshtml?В приведенном выше коде я не вижу его.

0 голосов
/ 22 июня 2011

Вот хороший блог, в котором есть решение

В основном файлы javascript устарели.

http://weblogs.asp.net/owscott/archive/2010/11/17/mvc-3-ajax-redirecting-instead-of-updating-div.aspx?CommentPosted=true#commentmessage

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