Визуализация частичного представления из System.Web.Helpers.WebGrid - PullRequest
2 голосов
/ 07 мая 2011

Я пытаюсь визуализировать частичное из System.Web.Helpers.WebGrid

мой класс модели выглядит так:

class GameInfo
{
    public List<AppUser> Team1 { get; set; }
        public List<AppUser> Team2 { get; set; }
    // and more properties
}

class AppUser
{
        public string PictureUrl { get; set; }
        public string ProfileUrl { get; set; }
        public long GamesWon { get; set; }
        public long GamesLost { get; set; }
        public int Points { get; set; }
    // and more properties
}

Я хочу, чтобы мой GridView отображал список GameInfo в виде сетки. То, что оказывается жестче, чем ожидалось, это рендеринг команд (список). Чтобы остаться сухим, я создал частичное представление для рендеринга команды (_Team.cstml).

Это мой код бритвы:

@if (Model != null)
{
   var webgrid = new WebGrid(source: Model.Games,
   rowsPerPage: 10);


<div id="grid">
    @webgrid.GetHtml(
    columns: webgrid.Columns(           
         webgrid.Column(header: "Score", format: @<text>@item.Score1/@item.Score1</text>),
         webgrid.Column(header: "Team 1", format: (item) =>
            {

                return "hello sb"; // this line works!
                //return Html.Partial("_Team", item.Team1);  // this gives an error
            })
         )
         )
</div>
}

Есть идеи, как мне заставить это работать?

Спасибо!

1 Ответ

8 голосов
/ 07 мая 2011

В случае, если кто-то еще столкнется с этим, мне удалось решить это сегодня утром. Это работает:

webgrid.Column(header: "Team 1", format: (item) =>
                {
                    List<Cuarenta.Web.Models.AppUser> team = ((Cards.Cloud.WebRole.Admin.GameInfo)item.Value).Team1;                       
                    return Html.Partial("_Team", team);
                })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...