【发布时间】:2018-01-06 20:59:03
【问题描述】:
总的来说,我对 Web 开发有点陌生,所以这可能是一个简单的问题。
我正在使用 ASP.NET Core 2.0,MVC。
作为一个学习练习,我正在尝试在 ASP.NET 中实现一个我发现的 html 模板(例如,使 ASP.NET 输出所需的 html 以使 html 模板工作)。
在大多数情况下,我是成功的。除了下拉按钮。对于我的生活,我无法让这些工作。
问题是,如果我使用它生成的 html,并自行运行它,它会完美运行!!
所以,我:
- 运行我的 ASP.NET 应用程序。下拉按钮不起作用。
- 在asp.net页面上运行“查看页面源代码”
- 将页面源代码复制到记事本中,并将其保存为“test.html”到 我的 ASP.NET 解决方案的 wwwroot 文件夹
- 将 test.html 中的“/lib”替换为“lib”(适用于所有实例)
- 在浏览器中打开“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