2012-10-30 93 views
1

在我的布局SignalR未定义不是一个函数

<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script 
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script> 

Scripts in my scripts folder

我有以下并在的Global.asaxApplication_Start()

BundleTable.Bundles.EnableDefaultBundles(); 

SignalR工作正常,但它抛出错误

Uncaught TypeError:undefined不是函数

因此,它不适用于捆绑或有其他东西?

+0

你能告诉你如何建立你的' “〜/脚本/ JS”'捆绑的代码? –

+0

一切都在问题中。第一行从Scripts文件夹内的每个脚本构建一个包。正如我在回答中所说的那样,这是问题。 –

+0

很高兴你能够得到它的工作。如果你想了解更多关于创建和使用bundle的信息,请参考http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification –

回答

3

显然

<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script 

不工作,有些实验我已经通过移动signalr脚本到不同的文件夹解决了这个问题(脚本/ signalr)和使用我_Layout.cshtml文件中的以下之后。 :

<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script> 
<script src="@Url.Content("~/Scripts/signalr/jquery.signalR-0.5.3.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script> 
1

就在signalr-xxxjs ...{ n.signalR.version = "1.1.2" }(window.jQuery)之后添加;

结果字符串是:

...{ n.signalR.version = "1.1.2" }(window.jQuery); 
相关问题