我有一张表格可以输入员工的详细信息。我正在输入员工联系方式和地址详细信息。对于地址,我使用MVC网格进行CRUD操作。我选择编辑模式为“GridEditMode.InLine”。页面加载中没有javascript错误,单击网格的添加新行按钮。当我获得焦点行中的任何可编辑字段时,我收到以下错误
“jquery.validate.min.js:19Uncaught TypeError:无法读取未定义的属性'settings'”
我如何纠正这个问题?
注意:我使用的是Telerik扩展2011.2.712。地址网格是部分视图,因此我可以使用供应商&客户地址也是。我也在数据层使用EF。
谢谢&问候 Kousik
答案 0 :(得分:1)
Telerik控件需要在页面中注册或包含正确的脚本。他们建议使用他们的脚本注册器来执行此操作(如下所示)。
@(Html.Telerik().ScriptRegistrar().DefaultGroup(group => group
.Add("jquery-1.5.1.min.js")
.Add("jquery.validate.min.js ")
.Add(<any additional scripts>))
)
您可以使用“旧”方式手动执行此操作,但它们的API更容易,而且它还可以让您通过API压缩和组合所有脚本到一个文件中,从而减少占用空间。
您可以参考http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-required-javascript-files.html以获取有关特定控件所需脚本的更多详细信息。
答案 1 :(得分:1)
默认情况下,Telerik会添加对其包中包含的jQuery版本的引用。如果您在Site.Master / _Layout(分别为ASPX / RAZOR)中手动添加jQuery引用,则还应修改Telerik ScriptRegister以使用.jQuery(false)
排除自动jQuery引用。
示例未经修改的Telerik脚本注册器 -
<%: Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(true).Compress(true)) %>
禁用自动jQuery引用 -
<%: Html.Telerik().ScriptRegistrar().jQuery(false).DefaultGroup(group => group.Combined(true).Compress(true)) %>
如果不这样做,则会出现使用哪个引用来运行操作的冲突,尤其是当您的Telerik控件使用不同的jQuery版本时。