【问题标题】:ASP.NET MVC 4 issues with including external javascript包含外部 javascript 的 ASP.NET MVC 4 问题
【发布时间】:2013-07-04 23:16:30
【问题描述】:

我是 MVC 的新手,在局部视图中使用下载的 javascript 控制器时遇到了困难。我下载了这个树视图:
http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
然后我将 treeview.js 和 demo.js 脚本放在项目中,以及 css 和 images 文件夹。 2 个 .js 文件位于 /Scripts/treeview 文件夹中,css 和图像文件夹位于 /Content 文件夹中。

我将这些添加到我的 BundleConfig.cs:

        bundles.Add(new ScriptBundle("~/bundles/treeview").Include(
                    "~/Scripts/treeview/jquery.treeview.js",
                    "~/Scripts/treeview/demo.js"));

        bundles.Add(new StyleBundle("~/Content/css/treewiew").Include("~/Content/jquery.treeview.css"));

我的局部视图如下所示:

<ul id="browser" class="treeview">
    <li><span class="folder">Folder 1</span>
        <ul>
            <li><span class="file">Item 1.1</span></li>
        </ul>
    </li>
    <li><span class="folder">Folder 2</span>
        <ul>
            <li><span class="folder">Subfolder 2.1</span>
                <ul id="folder21">
                    <li><span class="file">File 2.1.1</span></li>
                    <li><span class="file">File 2.1.2</span></li>
                </ul>
            </li>
            <li><span class="file">File 2.2</span></li>
        </ul>
    </li>
    <li class="closed"><span class="folder">Folder 3 (closed at start)</span>
        <ul>
            <li><span class="file">File 3.1</span></li>
        </ul>
    </li>
    <li><span class="file">File 4</span></li>

在 _Layout.cshtml 中,我在 head 部分添加了这两行,就在 @Styles.Render("~/Content/css") 和 @Scripts.Render("~/bundles/modernizr") 行之前:

<link href="@Url.Content("~/Content/jquery.treeview.css")" rel="stylesheet" type="text/css" />
<script runat="server" type="text/javascript" src="@Url.Content("~/Scripts/treeview/jquery.treeview.js")"></script>

最后,我在 Index 视图中调用局部视图,它是随项目自动生成的。 css 几乎可以正常工作,我有样式列表,但它不能用作树视图控制器。

现在,我找到了这些帖子,但这些帖子对我没有帮助:
How to include javascript code in asp.net MVC4 View page?
MVC4 partial view javascript bundling Issue

我只是看不出我有什么问题。我最近刚开始学习 javascript,5 天前 MVC 对我来说是全新的和未知的,我现在坚持这个问题 3 天,为此我对自己很生气。请帮我!非常感谢!

【问题讨论】:

    标签: javascript asp.net-mvc asp.net-mvc-4 external asp.net-mvc-partialview


    【解决方案1】:

    添加这一行而不是使用您的脚本注册,

    @Scripts.Render("~/bundles/jquery")    
    @Scripts.Render("~/bundles/treeview")
    

    注意:treeview 应该在 jQuery 引用之后注册。

    【讨论】:

    • 它似乎不起作用。我将该行添加到索引视图、部分视图,甚至添加到 _Layout。目前还没有。
    • 据我了解,您必须在 jquery 之后渲染每个 javascript,因为它们使用 jquery,对吗?如果我在另一个页面而不是 _Layout 页面中呈现我的外部 .js 怎么办?
    • 你必须在 jQuery 参考之后注册所有的 jQuery 插件。请记住,如果您在插件之后再次注册主要引用,它将重置所有已注册的插件。您不需要在布局中注册所有内容。您可以在布局中注册主要引用,然后使用渲染部分来注册其余脚本。
    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    相关资源
    最近更新 更多