Asp.net mvc ScrollSpy在本地主机上工作,而不是在服务器上工作
我正在开发一个ASP MVC应用程序,其中一个页面上有ScrollSpy。我遇到了一个奇怪的问题,当我从本地主机运行我的站点时,它工作正常,但是当我将应用程序发布到服务器时,ScrollSpy没有将Asp.net mvc ScrollSpy在本地主机上工作,而不是在服务器上工作,asp.net-mvc,twitter-bootstrap,scrollspy,Asp.net Mvc,Twitter Bootstrap,Scrollspy,我正在开发一个ASP MVC应用程序,其中一个页面上有ScrollSpy。我遇到了一个奇怪的问题,当我从本地主机运行我的站点时,它工作正常,但是当我将应用程序发布到服务器时,ScrollSpy没有将活动的类添加到项中 这是我页面上初始化ScrollSpy的脚本 @section scripts { <script> $(document).ready(function () { $('body').attr("data-target",
活动的类添加到
项中
这是我页面上初始化ScrollSpy的脚本
@section scripts
{
<script>
$(document).ready(function () {
$('body').attr("data-target", "#side-nav");
$('body').attr("data-spy", "scroll");
});
</script>
}
@节脚本
{
$(文档).ready(函数(){
$('body').attr(“数据目标”,“侧导航”);
$('body').attr(“数据间谍”,“滚动”);
});
}
下面是我的ScrollSpy导航的定义
<div id="side-nav" class="pull-left">
<ul class="affix nav nav-list nav-pills nav-stacked">
<li><a href="#first-section">First Section</a></li>
<li><a href="#second-section">Second Section</a></li>
<li><a href="#third-section">Third Section</a></li>
</ul>
</div>
每个部分都有一个锚定标记,定义如下
<a class="anchor" id="first-section"></a>
我通过查看页面源代码并单击链接查看.js文件,验证了jquery.js和bootstrap.js在服务器上被正确引用。我尝试用本地主机上使用的相同.js文件替换这些文件的.min版本,但这不起作用
我为这是一个难以重现的问题提前道歉。请告诉我是否应该发布任何附加数据以便于故障排除。您确定正文标签样式位置设置为相对。生产服务器上是否存在覆盖主体
标记样式的css?并确保您已将
放在此页面顶部。为什么不尝试将data spy=“scroll”
和data target=“#side nav”
作为body
标记上的内联属性,而不是jQuery函数。看看它是否有效?谢谢你的建议。添加数据间谍
和数据目标
作为内联属性起作用。您知道远程服务器需要什么,但在本地计算机上运行站点时不需要什么吗?即使它有效,我还是希望能够用另一种方法解决这个问题,因为
标记是在我的共享\u Layout.cshtml
局部视图中定义的,所以不是所有页面都会使用它。回答您的其他评论,是的,我确实在页面顶部有
,而且body
标记的位置设置为相对的(我通过Chrome的开发工具进行了验证)代码>可以工作,但我仍然不明白为什么我的原始代码在本地工作,而不是远程工作。