2011-12-28 81 views
0

嗨我想刷新MVCcontrib网格,在MVC中使用Ajax,但它不起作用。当我使用“返回PartialView(”myview“,mylist);”没有发生。该响应从未来到jQuery代码。我把关键字debbuger看看它是否有效,但从未到达那里。MVCContrib不刷新JQuery Ajax

这是我的jQuery代码刷新网格:

function refreshTable() { 
     $.ajaxSetup({ 
      async: false, 
      cache: false 
     }); 
     $.get('<%= Url.Action("RefreshGridData", "Countries") %>', 
      function (response) { 
       debugger; 
       $(".table-list").replaceWith(response) 
      }); 
    } 

这是我的操作:

public ActionResult RefreshGridData() 
    { 
     GetAllCountries();//this puts a list in the ViewData 
     return PartialView("CountriesPage", (List<iCatalogData.Country>)ViewData["CountriesList"]); 
    } 

这是我的网格:

<div id="container"> 
    <% Html.Grid((List<iCatalogData.Country>)ViewData["CountriesList"]) 
      .Columns(column => 
      { 
       column.For(co => Html.ActionLink(co.IdCountry.ToString(), "EditCountry", "Countries", new { id = co.IdCountry }, null)).Named("Id Country"); 
       column.For(co => co.CountryName); 
       column.For(co => Html.ActionLink("Delete", "DeleteCountry", "Countries", new { id = co.IdCountry }, null)).Named("Delete"); 
      }).Attributes(id => "example", @class => "table-list", style => "width: 100%;").Empty("No countries available").Render(); 

%> 
</div> 

感谢。

+0

现在请求是okey,但是当网格呈现mvccontrib的所有功能已经消失,风格,搜索,分页等等。我做错了什么? – Sebastian 2011-12-29 19:03:22

+0

我不知道这个,而是$('。table-list')。replaceWith(...),你应该试试$('#container')。replaceWith(...)。 – 2011-12-29 19:09:43

回答

0

我有一个类似的问题,并通过将操作的返回类型更改为PartialViewResult而不是ActionResult来解决此问题。对你来说可能是同一个问题。

+0

我实际上使用PartialView解决了这个问题,但我也必须将网格放置在PartialView中。我必须使用<%Html.RenderPartial(“viewName”,model); %> – Sebastian 2012-01-03 16:09:01