PartialView内容不会使用jquery load()更新webgrid

时间:2011-12-06 06:13:10

标签: jquery asp.net asp.net-mvc asp.net-mvc-3

PartialViews与$('#container')一起使用.load()html更新与webgrids一起使用?我已经使用PartialViews对常规html表进行更新,但是我无法使用包含在div中的webgrid来使用以下内容。

所有内容都从我的动作控制器返回,该动作控制器以javascript()函数的形式返回使用webgrid构建的更新的PartialView但是当我在javascript函数中调用load()时div不更新webgrid表内容

以下是一些代码段:

主索引视图(这是从我的模型中包含所有行的索引操作填充的): (页面包含webgrid和下拉列表)

@model IEnumerable<Models.Person>
@Html.ListBox("CStatus", null, new { style = "width:104px;" })   @*Multiselect that invokes the filter*@
  <div id="gridview" class="gen">@Html.Partial("_Persons", Model)</div>  @*Main Webgrid

    <script type="text/javascript">
        $("select").multiselect({
            click: function (event, ui) {
                alert('hello');
                $.get('@Url.Action("Filter")', function (data) {
                    window.alert('New filtered data coming from action!');
                    window.alert(data);  @*This comes back with new <table>... html data*@
                    $('#gridview').load('@Url.Action("Filter")', data);  @*not updating table data*@                               
                });
            }
        });
</script>

渲染Webgrid:

<div id="gridview">
    <table class="webgrid"><thead><tr class="head"><th scope="col">  <MORE COLUMN DEFS...then just basic html tr/td tags....
</table>
</div>

控制器操作:

   public ActionResult Filter()
    {
        IList<Person> cs = cs = db.Persons.OrderByDescending(x => x.Id).ToList();
        return PartialView("_Persons", cs);
    }

_Persons.cshtml显示webgrid的共享/部分模板:

@model IEnumerable<Models.Person>
@{           
    var grid = new WebGrid(source: Model,   
        rowsPerPage: 50);

}

    @grid.GetHtml(
        tableStyle: "webgrid",
        headerStyle: "head",
        alternatingRowStyle: "alt",
        columns: grid.Columns(
        grid.Column("PersonId", "Id"),
        grid.Column("PersonName", "Name")
   )