使用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
答案 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似乎只包含脚本。