【问题标题】:Kendo UI Grid MVC5 ASP.Net - Strongly typed viewKendo UI Grid MVC5 ASP.Net - 强类型视图
【发布时间】:2014-06-10 08:55:57
【问题描述】:

我最近开始将 Kendo UI 整合到我的项目中。我有一个强类型视图,并希望将 Kendo 网格绑定到视图上的适当视图模型:

@Model IEnumerable(Of IMS_2.Models.expenseclaims)
@Code
ViewData("Title") = "Index"
End Code

<h2>Index</h2>

<div>
@code
    Html.Kendo().Grid(Model).Name("ExpenseClaims") _
     .Columns(Sub(c)
                      c.Bound(Function(x) x.ClaimDate).Width(140)
                      c.Bound(Function(x) x.Title).Width(190)
                      c.Bound(Function(x) x.Company)
              End Sub)
end code

在执行时,代码在 Grid 语句处停止并出现异常:

方法调用失败,因为 'Public Function 列(配置器为 System.Action`1[[Kendo.Mvc.UI.Fluent.GridColumnFactory(的 GridColumnFactory(费用索赔)))作为 无法调用 Kendo.Mvc.UI.Fluent.GridBuilder(Of feeclaims)' 用这些论点:

自变量匹配参数“configurator”无法从“VB$AnonymousDelegate_2(Of Object)”转换为“Action(Of GridColumnFactory(Of feeclaims))”。

...作为一个相对新手,这让我有些困惑。我的代码(我认为)是我在 c# 中看到的其他示例的直接翻译(参见 http://telerikhelper.net/2012/10/26/using-kendo-grid-in-asp-net-mvc-4-0/

Expenseclaims 由 EF 模板生成,定义为:

 Partial Public Class expenseclaims
        Public Property id As Long
        Public Property Title As String
        Public Property ClaimDate As Nullable(Of Date)
        Public Property Creator As Nullable(Of Long)
        Public Property Company As Long
        Public Property AdvanceOffset As Nullable(Of Decimal)   
        Public Overridable Property expenselines As ICollection(Of expenselines) = New HashSet(Of expenselines)
        Public Overridable Property companies As companies 
    End Class

这是我难过的地方...任何帮助表示感谢。

【问题讨论】:

    标签: asp.net-mvc vb.net kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    将@Model 更改为@ModelType 用于VB.NET,因为@Model 用于C#。

    @ModelType IEnumerable(Of IMS_2.Models.expenseclaims)
    

    【讨论】:

    • 有关信息 - 这是我一直关注的文章,它解释了强类型视图和网格的使用:telerikhelper.net/2012/10/26/…
    • 这个 IMS_2.Models.expenseclaims 模型是什么样的?我们的问题可能在那里。
    • 感谢 Piercove - 我已将费用索赔定义添加到原始帖子中
    • 我刚刚注意到你的模型声明是这样的:(at)Model IEnumerable(Of IMS_2.Models.expenseclaims),你应该试试这个:@ModelType IEnumerable(Of IMS_2.Models.expenseclaims) 在你的原始代码,因为 VB 的编写方式不同。
    • 啊,是的 - 这是有道理的。现在我没有看到网格中填充了任何东西(或者根本没有渲染网格)。也许现在这已成为一个不同的问题,我应该提出另一个问题..
    猜你喜欢
    • 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
    相关资源
    最近更新 更多