0

你好!

我在外部 js 文件中声明函数:

$(function () {
        $('[data-provide=typeahead]').each(function () {
            var self = $(this);
            self.typeahead({
                source: function (term, process) {
                    var url = self.data('url');
                    console.log(url);

                    return $.getJSON(url, { term: term }, function (data) {
                        return process(data);
                    });
                }
            });
        });
    });

但它不起作用。进入该功能后,它不会继续绕过内容。

外部文件

部分母版页上的链接:

...
<script src="~/Scripts/Login.js?v.3.0"></script>
... 
<div class="container">
        @RenderBody()
</div>
...

只有当我将此代码直接放在页面上时,它才会开始工作。

在页面上

有什么问题?

谢谢!

4

3 回答 3

3

哟不能~在客户端使用,这是一个 ASP 特定的功能,只有在你使用时才有效<script runat="server">

<script src="~/Scripts/Login.js?v.3.0"></script>

你很可能给它错误的路径。查看您的网络选项卡并确保对该脚本的请求有效

尝试

<script src="/Scripts/Login.js?v.3.0"></script>

在 asp.net 的样式表路径中查看斜杠 (/) 与波浪线斜杠 (~/)

于 2013-07-10T19:49:22.103 回答
0

我解决了这个问题。尽管如此,胡安·门德斯是对的。问题出在脚本文件的链接中。代替 <script src ....>...</script>

我正在创建捆绑

1) 在 App_Start 文件夹中创建 BundleConfig.cs 文件,代码如下:

public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-*"));

            bundles.Add(new ScriptBundle("~/bundles/login").Include(
                        "~/Scripts/Login.js"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrapJS").Include(
                        "~/Scripts/bootstrap*"));

            bundles.Add(new StyleBundle("~/bundles/ProfitStyle")
                            .Include("~/Content/ProfitStyle.css"));

            bundles.Add(new StyleBundle("~/bundles/bootstrapCSS")
                            .Include("~/Content/bootstrap*"));
        }
    }

在这里,我们在内容文件上注册了捆绑包。

2) 在 Global.asax 中创建初始化包,添加代码行:

BundleConfig.RegisterBundles(BundleTable.Bundles);

3)刚刚添加了我们需要的文件的链接:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/login")
@Scripts.Render("~/bundles/bootstrap")
@Styles.Render("~/bundles/bootstrapCSS")
@Styles.Render("~/bundles/ProfitStyle")

对不起,胡安

于 2013-07-11T15:19:39.207 回答
0

而且,与其他情况一样,只需在视图页面中编写以下代码:

<script src="@Url.Content("~/Scripts/Login.js?v.3.0")"></script>
于 2013-07-11T16:25:24.683 回答