【问题标题】:Kendo UI template syntax in TabStripTabStrip 中的 Kendo UI 模板语法
【发布时间】:2019-08-29 16:27:06
【问题描述】:

我有一个包含标签条的剑道模板。在这个标签条中,我有使用剑道模板语法的项目,如下所示:

items.Add().Text("Block Attributes").LoadContentFrom("BlockAttributes", "Properties", new { blockRef = "#=BlockRef#" });

在这种情况下,块 ref 会按预期得到输出。但是,当像这样使用.Action() 方法时:

items.Add().Action("Details", "Properties", new { fiscalYear = Model.FiscalYear, blockRef = "#=BlockRef#" }).Text("Details");

propertyId 使用输入的文字字符串,因此它将尝试使用“#=BlockRef#”作为导致错误的参数进行导航。

为什么前者可以,但后者不行?我该如何让它发挥作用?

【问题讨论】:

  • 我不熟悉.Action()。意图是什么?可能可以使用.Content() 和@Url.Action()
  • @SteveGreene 我希望使用 tabstrip 项在单击时打开链接而不是显示内容。
  • 在这种情况下,我可能会处理 select event 并通过 javascript 重定向。这是js example。

标签: kendo-ui telerik kendo-asp.net-mvc telerik-mvc


【解决方案1】:

我发现的一个解决方案,虽然可能是不明智的,但是做以下事情:

items.Add().Text("Details").Url(Url.Action("Detail", "Properties", new { fiscalYear = Model.FiscalYear, blockRef = -1 }).ToString().Replace("-1", "#=BlockRef#"))

似乎没有办法让 Kendo 模板直接与 Url.Action() 一起工作,必须首先生成 html,然后必须单独替换参数。我使用 -1 因为 BlockRef 期望一个 int 并且 -1 不可能自然地出现在系统中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多