为什么kendogrid没有生成任何html输出,也没有服务器端/客户端错误
本文关键字:服务器端 客户端 错误 html kendogrid 任何 为什么 输出 | 更新日期: 2023-09-27 18:22:19
我的一个视图中有这个剑道网格:
@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)));
}
当我调试时,我看到Model集合中有4个项目,但我不知道为什么如果没有任何错误,网格根本不会显示。客户端没有生成任何HTML标记,firebug控制台中也没有显示任何错误。
它以前工作得很好,但突然之间,在我的模型发生了一些变化后,我不知道它发生了什么
编辑:我刚刚意识到,如果我把所有的行都写下来,在中只有一行就行了!但我不明白为什么?
当您使用构造@{ .. }
时,您就在剃刀中的代码块中。在代码块内部,默认情况下不会向响应写入任何内容。
您需要使用@
向输出输出一些内容,或者您需要在网格上使用一些特殊的方法,如Render()
。
因此,以下调用都在工作:
在任何剑道小工具上使用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))))
注意:如果在@
之后有一个多行语句,则需要用一组额外的parens(()
)来包装整个语句