我正在尝试使用 Kendo Route() MVC 帮助器定义自定义 Kendo 网格工具栏命令,如
@(Html.Kendo().Grid(Model.Imports)
.Name("ImportsGrid")
.ToolBar(tb => tb.Custom().Route("DataImportData", new { tableType = DataTablesTypeEnum.MyTables, id = Model.TableName }).Text("Import Data"))
但是生成的 URL 是不正确的 - 它最终与包含网格的页面是相同的 URL,这是它无法以某种方式找到路由的线索。
但是......当我像这样使用 Url.RouteUrl() 方法时
@{ var url = Url.RouteUrl("DataImportData", new { tableType = DataTablesTypeEnum.MyTables, id = Model.TableName });}
@(Html.Kendo().Grid(Model.Imports)
.Name("ImportsGrid")
.ToolBar(tb => tb.Custom().Url(url).Text("Import Data"))
生成正确的 URL。
我的路线是这样定义的:
routes.MapRoute(
name: "DataImportData",
url: "{controller}/{tableType}/{id}/Import",
defaults: new { controller = "Data", action = "ImportData" },
namespaces: new[] { "MyApp.MyNamespace" }
);
这是剑道的一个已知问题还是我做错了什么?