我通常使用:
来引用jQuery<script src='@(Url.Content("~/JavaScript/jquery.maskedinput-1.2.2.js"))' type="text/javascript"></script>
我在很多页面中引用相同的Jquery。对静态内容(名称或版本号)的任何更改都要求更新所有视图以吸收更改。为了解决这个问题,我尝试在Global.asax中为Jquery文件创建路由,如下所示
routes.MapRoute("jquery.maskedinput.js", "Javascript/jquery.maskedinput-1.2.2.js");
我尝试使用Html Helper(如下面的
)在cshtml中调用它 <script src='@Html.RouteLink("maskedinput","jquery.maskedinput.js") ' type="text/javascript"></script>
我知道RouteLink会返回一个Anchor标记,因此没有正确设置Source以便加载Jquery。
要求:
请帮帮我。
答案 0 :(得分:2)
我对BundleCollection
System.Web.Optimization
namespace PROJECT.Classes
{
public class JSBundles
{
public static string Test = "/scripts/test.js";
}
使用此方法,请参阅my question,但这仍然有效。
<script src='@(JSBundles.Test)' type="text/javascript"></script>
然后像这样使用它:
<script src='/scripts/test.js' type="text/javascript"></script>
呈现
PROJECT.Classes
请注意,这需要您在视图中引用web.config
或您放置它的任何位置。我在视图文件夹的....
<add namespace="PROJECT.Classes" />
</namespaces>
</pages>
</system.web.webPages.razor>
中进行了设置。
{{1}}
答案 1 :(得分:1)
你可以使用流行的和令人敬畏的RequireJS来使用javascript注入jquery(以及任何其他js dependancies)而不是手动提供它们
http://requirejs.org/docs/jquery.html提供了设置&amp;使用说明