Содержимое PartialView не будет обновлять сетку с помощью jquery load () - PullRequest
1 голос
/ 06 декабря 2011

Работают ли PartialViews вместе с $ ('# container'). Load () html обновлениями с веб-сетками? Я использовал PartialViews для обновления обычной HTML-таблицы, но не могу заставить работать следующее с использованием веб-сетки, заключенной в div.

Все возвращается от моего контроллера действий, который возвращает PartialView в функции javascript () в форме обновленной сборки, использующей webgrid, но div не обновляет содержимое таблицы webgrid, когда я вызываю load () в функции javascript .

Вот некоторые фрагменты кода:

Основное представление индекса (заполняется из действия индекса всеми строками в моей модели): (Страница содержит сетку и выпадающий список)

@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>

Отображаемая сетка:

<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 Общий / частичный шаблон для отображения веб-сетки:

@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")
   )

1 Ответ

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