【问题标题】:Dropdown button does not work in asp.net, but does in html下拉按钮在 asp.net 中不起作用,但在 html 中起作用
【发布时间】:2018-01-06 20:59:03
【问题描述】:

总的来说,我对 Web 开发有点陌生,所以这可能是一个简单的问题。

我正在使用 ASP.NET Core 2.0,MVC。

作为一个学习练习,我正在尝试在 ASP.NET 中实现一个我发现的 html 模板(例如,使 ASP.NET 输出所需的 html 以使 html 模板工作)。

在大多数情况下,我是成功的。除了下拉按钮。对于我的生活,我无法让这些工作。

问题是,如果我使用它生成的 html,并自行运行它,它会完美运行!!

所以,我:

  1. 运行我的 ASP.NET 应用程序。下拉按钮不起作用。
  2. 在asp.net页面上运行“查看页面源代码”
  3. 将页面源代码复制到记事本中,并将其保存为“test.html”到 我的 ASP.NET 解决方案的 wwwroot 文件夹
  4. 将 test.html 中的“/lib”替换为“lib”(适用于所有实例)
  5. 在浏览器中打开“test.html”。它按预期工作(下拉 按钮工作)。

我不确定这里发生了什么 - 在我看来,两个实例中的 html 是相同的,除了“/lib”与“lib”,但这似乎是为了整理 css 文件,所以我我假设它应该适用于 jquery 的东西。

对此进行了一些研究,但我发现的其他问题均不适用于我: jquery.min.js 在 bootstrap.min.js 之前被调用 jquery 调用位于生成下拉列表的同一视图文件中。

我在这里错过了什么?为什么它可以在纯 html 中工作,但在 ASP.NET 应用程序的一部分中却不行?

-- 编辑-- 我被要求包含不同的代码。 html 的正文在两者之间是相同的。唯一的区别是最后的脚本来源。 ASP.NET:

<script src="/lib/jquery/dist/jquery.min.js"></script>
<script>
    window.jQuery || document.write('<script src="/js/jquery-1.11.0.min.js"><\/script>')
</script>

HTML:

<script src="lib/jquery/dist/jquery.min.js"></script>
<script>
    window.jQuery || document.write('<script src="js/jquery-1.11.0.min.js"><\/script>')
</script>

实际的下拉按钮是这样的:

                    <div class="navbar-collapse collapse" id="navigation">
                        <ul class="nav navbar-nav navbar-right">
                            <li class="dropdown">
                                <a href="javascript: void(0)" class="dropdown-toggle" data-toggle="dropdown">Contact <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <li><a href="contact.html">Contact option 1</a>
                                    </li>
                                    <li><a href="contact2.html">Contact option 2</a>
                                    </li>
                                    <li><a href="contact3.html">Contact option 3</a>
                                    </li>
                                </ul>
                            </li>
                        </ul>
                    </div>

我很确定 jquery.min.js 是关键,就好像我在 html 中将其注释掉一样,下拉菜单也在那里停止工作。

【问题讨论】:

  • What have I missed here? 你错过了,除非你发布有效的代码和失败的代码,否则没有人可以提供帮助。
  • 这就是问题所在 - 它的代码相同,但减去了一个斜杠 ( / )。如果您认为有帮助,我会更新我原来的问题。
  • 我想我解决了。 ASP.NET 作为 https 加载,而其中一个 jquery 文件是通过 http 加载的(我已将其从原始参考中更改)。一旦我让它们都在 https 下工作,它就开始工作得更好了。

标签: javascript jquery html asp.net asp.net-mvc


【解决方案1】:

问题最终是我通过 http 加载 js 文件,而 asp.net 应用程序是 https。

一旦所有的 js 文件都通过 https 加载,它就开始工作得更好了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 2011-02-28
    相关资源
    最近更新 更多