Telerik modal mvc无法获取属性'脚本'

时间:2014-03-17 23:14:02

标签: javascript telerik telerik-mvc

使用Telerik控制版本2012.1.214.340与mvc 3.我想打开一个外部页面的模态窗口,并认为它是直接的....但要么它不是......或者更可能是我不是谷歌搜索/阅读正确的文档。

我真的不想将内容加载到隐藏的div中,然后在用户选择时将其弹出模式。

我更愿意在javascript / jquery中完成所有操作,所以我的研究让我写了这个:

到目前为止我在javascript中写的是:

var windowElement = $.telerik.window.create({
    title: "Test Modal",
    html: "<strong>Where am I</strong>",
    contentUrl: 'http://www.google.com',
    modal: true,
    resizable: false,
    draggable: true,
    scrollable: false,
    onClose: function () { }
     });

cshtml razor是:

@(Html.Telerik().ScriptRegistrar()
        .jQuery(false)
        .jQueryValidation(false)
        .DefaultGroup(grp => grp
            .Add("telerik.window.min.js")
            ))
        )

当我运行网站时,我在加载页面时出现此错误:

0x800a138f - JavaScript运行时错误:无法获取属性&#39;脚本&#39;未定义或空引用

并且调试器位于telerik.window.min.js

的这一行
b.scripts.push("telerik.window.js")

基于它突破的线路,我去寻找telerik.window.js并且没有在项目中找到它......嗯?之前的所有者没有包含那个文件吗?

所以我去了谷歌代码并找到了this

创建文件并按原样添加,但我仍然收到错误...

所以我认为我错过了其他的东西,但不确定究竟是什么。

TIA

2 个答案:

答案 0 :(得分:0)

您不必手动包含telerik JS文件,它们应自动加载(只要它们位于正确的文件夹中)。
您是否有文件夹 /Scripts/2012.1。 214 有很多telerik.js文件+ jquery?
你可以再试一次而不将该文件添加到DefaultGroup吗? 但是你会遇到另一个问题,因为我看到你宣布 jQuery(false)。这是故意的吗?因为如果你将它设置为false,并且没有在DefaultGroup中声明另一个jQuery文件,那么什么都不会起作用。

答案 1 :(得分:0)

我遇到了同样的问题,这对我有用:

@(Html.Telerik().Window()
    .Name("_placeholder")
    .Visible(false)
)

在页面的某处包含一个永远不会被使用的静态窗口 - 当使用该类型的控件时,telerik似乎只包含脚本。