将视图或按钮 Link 添加到 Kendo 网格
Adding View or Button Link to Kendo Grid
经过一番努力,我设法将我的模型绑定到我的 MVC 应用程序中的 Kendo 网格。我现在想要做的是在每一行的末尾添加一个 Html.ActionLink 或一个按钮,以便在单击时打开一个新的浏览器 window,其中包含所选人员的详细信息页面。
我的Grid代码是这样的:
@ModelType CDB.GridDetail
@Code
Dim myGridData As IQueryable(Of Person) = Model.GridDetailPersons
Html.Kendo().Grid(Of Person)(myGridData) _
.Name("Grid") _
.Columns(Sub(c)
c.Bound(Function(s) s.PersonID)
c.Bound(Function(s) s.Status)
c.Bound(Function(s) s.OperationsTeam)
c.Template(Sub()
Html.ActionLink("View", "Details", New With {.id = "PersonID"}, New With {.target = "_blank"})
End Sub).Title("View").ClientTemplate("client template")
End Sub) _
.Scrollable() _
.Render()
End Code
我遇到的问题是我找不到将行的 PersonID 绑定到 ActionLink 的 .id 的方法。我试过 Person.PersonID 和 myGridData.PersonID
代码呈现网格和数据但没有链接...该列为空。
感谢任何帮助。
列模板是一个模板,用Kendo的JS模板语言处理,然后用于每个显示的行。 IE。您需要编写代码编写一个 Kendo JS 模板,然后用于创建浏览器将呈现的内容。
本例因为Html.ActionLink
不验证路由参数是将模板放入id参数:
Html.ActionLink("View", "Details", New With {.id = "#:PersonId#"}, New With {.target = "_blank"}
查看 Kendo 的模板 online。
尝试了 Richard 的回答,但这没有用...返回语法错误。
根据他提供的 link 并查看其他一些文档,我确实发现了这个确实有效...
c.Bound(Function(p) p.PersonID).Template(Function(t) @<text>@Html.ActionLink("View", "Details", New With {.id = t.PersonID}, New With {.target = "_blank"})</text>
End Function).Title("View Details").HtmlAttributes(New With {.style = "text-align:center;"})
我用来替换 c.Template(Sub..... 行
经过一番努力,我设法将我的模型绑定到我的 MVC 应用程序中的 Kendo 网格。我现在想要做的是在每一行的末尾添加一个 Html.ActionLink 或一个按钮,以便在单击时打开一个新的浏览器 window,其中包含所选人员的详细信息页面。
我的Grid代码是这样的:
@ModelType CDB.GridDetail
@Code
Dim myGridData As IQueryable(Of Person) = Model.GridDetailPersons
Html.Kendo().Grid(Of Person)(myGridData) _
.Name("Grid") _
.Columns(Sub(c)
c.Bound(Function(s) s.PersonID)
c.Bound(Function(s) s.Status)
c.Bound(Function(s) s.OperationsTeam)
c.Template(Sub()
Html.ActionLink("View", "Details", New With {.id = "PersonID"}, New With {.target = "_blank"})
End Sub).Title("View").ClientTemplate("client template")
End Sub) _
.Scrollable() _
.Render()
End Code
我遇到的问题是我找不到将行的 PersonID 绑定到 ActionLink 的 .id 的方法。我试过 Person.PersonID 和 myGridData.PersonID
代码呈现网格和数据但没有链接...该列为空。
感谢任何帮助。
列模板是一个模板,用Kendo的JS模板语言处理,然后用于每个显示的行。 IE。您需要编写代码编写一个 Kendo JS 模板,然后用于创建浏览器将呈现的内容。
本例因为Html.ActionLink
不验证路由参数是将模板放入id参数:
Html.ActionLink("View", "Details", New With {.id = "#:PersonId#"}, New With {.target = "_blank"}
查看 Kendo 的模板 online。
尝试了 Richard 的回答,但这没有用...返回语法错误。
根据他提供的 link 并查看其他一些文档,我确实发现了这个确实有效...
c.Bound(Function(p) p.PersonID).Template(Function(t) @<text>@Html.ActionLink("View", "Details", New With {.id = t.PersonID}, New With {.target = "_blank"})</text>
End Function).Title("View Details").HtmlAttributes(New With {.style = "text-align:center;"})
我用来替换 c.Template(Sub..... 行