我的 View 之一中有这个剑道网格:
@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 控制台中也不会显示任何错误。
它以前工作得很好,但突然间,在对我的模型进行一些更改后,我不知道它发生了什么。
编辑: 我刚刚意识到,如果我将所有行写在一行中,它就可以工作! 但我不明白为什么?
最佳答案
当您使用构造 @{ .. }
时,您将处于 razor 中的代码块中。在代码块内部,默认情况下不会将任何内容写入响应。
您需要使用@
将某些内容输出到输出,或者您需要在网格上使用一些特殊方法,例如Render()
。
因此以下调用均有效:
在 any Kendo Widget: 上使用 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))))
注意:如果 @
之后有多行语句,则需要用一组额外的括号 (()
) 包裹整个语句
关于c# - 为什么 kendo Grid 不生成任何 html 输出并且没有服务器端/客户端错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17638272/