2011-05-17 31 views
5

Estoy usando MVC3 (Razor) con el Paging open source code here. La llamada codificada al golpear un botón del controlador que tiene este código:Asp Mvc Devolver una vista parcial con Ajax no funciona

[Authorize(Roles = SystemConstants.ROLE_ADMINISTRATOR)] 
    public ActionResult ListUsers(int? page) 
    { 
    int currentPageIndex = page.HasValue ? page.Value - 1 : 0; 
    var products = userToDisplay.ToPagedList(currentPageIndex, 5); 
    return PartialView("ListUsersTable", products); 

    } 

Esto debería devolver un PartialView llamado "ListUsersTable". Devuelve "ListUsersTable" pero como una página completa en lugar de reemplazar el DIV.

Este es el código en la vista:

<div id="listUserToBeUpdated"> 
     @Html.Partial("ListUsersTable", Model) 
    </div> 

El botón dentro de la ListUsersTable hacer la llamada Ajax parece que:

<div class="pager"> 
     @Ajax.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, "ListUsers", new AjaxOptions { UpdateTargetId = "listUserToBeUpdated" }) 
    </div> 

Cualquier idea de por qué el código no es la sustitución del DIV ¿pero devuelve el código en la página?

Respuesta

6

¿A qué archivos JS ha hecho referencia? En ASP.NET MVC3 cambiaron la funcionalidad de AJAX de MicrosoftMvcAjax.js a jquery.unobtrusive-ajax.js, por lo tanto, haga referencia a esta última si todavía no lo hace.

También verifique que la tecla "UnobtrusiveJavaScriptEnabled" en el archivo Web.config se establece en "true"

+0

UnobtrusiveJavaScriptEnabled en el web.config se establece en True. –

+0

Solo tengo Jquery 1.4.4.js y el jquery-ui y jquery.validate a los que se hace referencia. –

+2

Intente agregar una referencia al archivo "jquery.unobtrusive-ajax.js". – FelixMM

Cuestiones relacionadas