Работают ли 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")
)