2

在我的一个观点中,我有这个剑道网格:

@model IEnumerable<IJRayka.Core.Utility.ViewModels.OrderDto>
@using IJRayka.Core.Web.Code
@{
    ViewBag.Title = "Order List";
}

<h2>Order List</h2>
    @{
Html.Kendo().Grid(Model).Name("grid").Columns(columns =>
    {
        columns.Bound(ord => ord.CustomerName);
        columns.Bound(ord => ord.MarketerName);
        columns.Bound(ord => ord.OrderDate);
        columns.Template(ord => ord.CurrentStatus.GetDisplayName());
        columns.Bound(ord => ord.PaymentMethod);
        columns.Bound(ord => ord.Description);
        columns.Command(cmd => cmd.Edit().Text("ویرایش"));
        columns.Command(cmd => cmd.Select().Text("مشاهده"));
        columns.Command(cmd => cmd.Destroy().Text("حذف"));

    }).DataSource(ds => ds.Server()
        .Model(m => m.Id(ord => ord.ID))
            .Create(create => create.Action("Create", "OrderManagement"))
            .Read(read => read.Action("Details", "OrderManagement"))
            .Update(update => update.Action("Edit", "OrderManagement"))
            .Destroy(destroy => destroy.Action("Delete", "OrderManagement"))
        ).Pageable().Sortable()
    .ToolBar(toolbar => toolbar.Create().Text("ایجاد سفارش"))
    .Selectable(selectable => selectable.Mode(GridSelectionMode.Single)));
}

当我调试时,我看到模型集合中有 4 个项目,但我不知道为什么没有任何错误,网格根本不会出现。客户端没有生成单个 HTML 标记,并且 firebug 控制台中没有显示错误。

它以前工作得很好,但是突然之间,在对我的模型进行了一些更改之后,我不知道它发生了什么。

编辑:我刚刚意识到,如果我把所有的行都写下来,在一行中就可以了!但我不明白为什么?

4

1 回答 1

2

当您使用该构造时@{ .. },您将处于剃刀的代码块中。在代码块内部,默认情况下没有任何内容写入响应。

您需要使用@将某些内容输出到输出,或者您需要使用一些特殊的方法,例如Render()在 Grid 上。

所以以下调用都有效:

Render任何剑道小部件上使用:

@{
    Html.Kendo().Grid(Model).Name("grid").Columns(columns =>
    {
      //...
    })
    .Selectable(selectable => selectable.Mode(GridSelectionMode.Single)))
    .Render(); //Render method provided by Kendo UI.
}

使用@

@{
    @(Html.Kendo().Grid(Model).Name("grid").Columns(columns =>
    {
      //...
    })
    .Selectable(selectable => selectable.Mode(GridSelectionMode.Single))))
}

或者,如果您在代码块中有这个语句,则根本不要使用代码块,只需编写:

@(Html.Kendo().Grid(Model).Name("grid").Columns(columns =>
{
    //...
})
.Selectable(selectable => selectable.Mode(GridSelectionMode.Single))))

注意:如果在后面有一个多行语句,则@需要用一组额外的括号 ( ())包装整个语句

于 2013-07-14T13:54:49.827 回答