MVCContrib Grid Razor проблема, Column.Action не визуализировать - PullRequest
1 голос
/ 20 января 2011

Код ниже прекрасно работает с движком aspx view, я пытаюсь преобразовать его в бритву, как показано ниже. Проблема в том, что первый столбец не отображается.

Я конвертирую первый столбец в ссылку, используя метод действия. С бритвой это (первый столбец) не отображается на странице вообще. Остальная часть сетки в порядке.

В чем может быть проблема?

@{Html.Grid(Model.Orders).Attributes(style => "width: 100%;").Columns(
column => {
    column.For(x => x.OrderNumber).Action(p => {
        @:<td>
        Html.ActionLink(
            p.OrderNumber.ToString(),
            "orderdetail",
            "OrderUpdate",
            new { id = p.OrderNumber, backUrl = Url.Action("OrderHistory", new { controller = "DataController", id = ViewData["id"] }) },
            new { });
        @:</td>
    }).HeaderAttributes(style => "text-align:left");

    column.For(x => x.OrderTimeV2).HeaderAttributes(style => "text-align:left");

    column.For(x => x.Status).HeaderAttributes(style => "text-align:left");

    column.For(x => x.Type).HeaderAttributes(style => "text-align:left");
}).RowStart((p, row) => { }).Render();}

Ответы [ 3 ]

1 голос
/ 05 марта 2011

Я отошел от использования сетки mvccontrib, так как в нашей сетке нет особого смысла.

В любом случае проблема заключалась в том, что код в вопросе не возвращает html, а помещает код непосредственно в поток ответов. И код для столбцов, визуализированных с использованием бритвы, которая помещает код в поток при каждом вызове. таким образом, он заканчивает тем, что помещает столбцы в поток перед отображением сетки.

Это было решено, если не использовать код бритвы в действии, вызванном сеткой.

0 голосов
/ 13 октября 2016

Вы можете сделать пользовательский столбец, чтобы получить то, что вы хотите:

@Html.Grid(Model).Columns(column => {
  column.Custom(
    @<div>
      <em>Hello there</em>
      <strong>@item.Name</strong>
    </div>
   ).Named("Custom Column");
})

От: MvcContrib Grid Custom Columns (Razor)

Я сделал это при портированиинесколько страниц .aspx в Razor.

0 голосов
/ 06 марта 2011

Хорошо, у меня это работает, со следующим

 @Html.Grid(Model.Result).Columns(column => {
    column.For(u => u.Name).Named("Name");
    column.For(u => u.Code).Named("Code");
    column.For(u => Html.ActionLink("Edit", "Edit", new { id = u.Id })).Named("Edit");
...