【问题标题】:MVC jqGrid Small Integer ErrorMVC jqGrid 小整数错误
【发布时间】:2011-10-29 01:48:28
【问题描述】:

这篇文章真的很棒,很棒。这是来自主题“ASP.NET MVC 2.0 在 jqgrid 中搜索的实现”-ASP.NET MVC 2.0 Implementation of searching in jqgrid

但是现在当我添加一个小整数数据类型的字段时,我遇到了搜索问题。添加小整数数据类型的字段将作为状态。 假设值 one(1) 用于 Active,值 two(2) 用于 Inactive。

当我从文本框中输入 1 或 2 时,它会抛出一个错误

System.Data.Entity:参数类型“Edm.Int16”和“Edm.String”与此操作不兼容。近似等于表达式,第 6 行,第 12 列。

提前谢谢你。

【问题讨论】:

    标签: asp.net-mvc jqgrid


    【解决方案1】:

    很高兴my old answer 对您有所帮助。我想你在线路附近有问题

    // TODO: Extend to other data types
    

    在我包含在答案中的代码中,我表明propertyInfo.PropertyType.FullName 包含有关实体属性的数据类型的信息。在代码中我只使用了两种类型:字符串和 32 位整数。如果是 32 位整数,我对 Int32.Parse 进行了相应的数据解析:

    String.Compare (propertyInfo.PropertyType.FullName,
                    "System.Int32", StringComparison.Ordinal) == 0 ?
        new ObjectParameter ("p" + iParam, Int32.Parse(rule.data)
    

    您应该用case 替换“?:”运算符,在此您测试propertyInfo.PropertyType.FullName 以获得更多数据类型。例如smallintSQL类型你应该使用System.Int16tinyint应该是System.BytesbyteSQL数据类型对应System.SByte等等。如果您将 ObjectParameter 的第二个参数用作正确的数据类型,则所有应该都能正常工作

    【讨论】:

    • 您好奥列格,感谢您的即时回复。现在可以了。我只是将字段属性设置为可空为假。你的答案代码真的对我有很大帮助:)
    • @xmox:不客气!如果问题现在解决了,你可以"accept"回答。
    • 嗨奥列格,有没有办法从网格外搜索?假设我想使用提交按钮从那里搜索投票和标题。请让我知道它是如何工作的。谢谢
    • @xmox: 搜索无非就是设置jqGrid的search: true参数,扩展jqGrid的postData参数filter描述搜索条件和调用.trigger('reloadGrid')强制网格重新加载对应于新的搜索条件。见herehere
    • 嗨 Oleg,当我将示例“ASP.NET MVC 2.0 在 jqgrid 中搜索的实现”转换为代码时,它首先不起作用。我被这个脚本困住了 => ObjectQuery filteredQuery = (f == null ? db.vend_details : f.FilterObjectSet(db.EntityTable));有没有办法可以先将其转换为代码?谢谢
    猜你喜欢
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多