Как использовать партиал рендеринга с веб-сеткой?

Я понимаю, как выполнить частичный рендеринг, но как обновить сетку с новым синтаксисом Razor данных, пожалуйста.

$.get( '@Url.Action("details","user", new { id = Model.ID } )',
   function(data) {     $('#detailsDiv').replaceWith(data); });

где пользовательский контроллер имеет действие с именем details, которое выполняет:

public ActionResult Details( int id ) {    
 var model = ...get user from db using id...     
 return Partial( "UserDetails", model ); } 

Конечный результат должен быть примерно таким

Например, var grid = new WebGrid (источник: Model.UserDetails, ....


person hidden    schedule 03.01.2012    source источник
comment
где вы можете решить вашу проблему?   -  person Paweł Staniec    schedule 05.01.2012


Ответы (1)


в вашем partialView Измените объявление сетки на что-то вроде:

var grid = new WebGrid(source: Model,
//defaultSort: "DataId",
ajaxUpdateCallback: "GridUpdate",
ajaxUpdateContainerId: "grid"
rowsPerPage: 50); 

убедитесь, что ваш метод .GetHtml имеет:

@grid.GetHtml(
htmlAttributes: new { id = "grid" }, 

// .. остальные параметры здесь) и добавьте ниже в свой Index.cshtml

<script type="text/javascript">
function GridUpdate(data) {
    $('#gridview').html(data);
}
</script>

не забудьте положить

@{ Layout = null; }

в вашем parial, чтобы получить только веб-сетку (без всего шаблона)

person Paweł Staniec    schedule 04.01.2012