我在Visual Studio 2015 Community Edition中创建了一个以ASP.NET Empty Web Site模板开头的站点。最近,我需要添加身份验证功能,因此我创建了一个新的ASP.NET Web Forms站点,并将在空网站中创建的所有页面/文件/整个站点移动到这个新的Web窗体站点模板。
一切都很完美 - 除了用于动态更新我的页面的javascript都不会继续工作。以前工作的所有javascript函数似乎都被完全忽略了。 (我没有改变HTML或Javascript代码中的任何内容 - 唯一改变的是我开始使用的ASP.NET模板)。即使是将导航菜单标记为活动这样简单的操作也无效,例如:
<script type="text/javascript">
$(function() {
// this will get the full URL at the address bar
var url = window.location.href;
// passes on every "a" tag
$(".Navigation a").each(function() {
// checks if its the same on the address bar
if (url == (this.href)) {
$(this).closest("li").addClass("active");
}
});
});
</script>
这完美地突出了之前的活动菜单,但不再适用于新的Web窗体网站模板。我也尝试将它从文件头,内容,甚至单独引用的文件中移除,但没有用。
我是否需要添加到我的新项目中的程序集,或者此ASP.NET Web窗体模板中是否存在可能阻止我的javascript工作的全局设置?任何帮助将不胜感激。我已经坚持这个问题一个多星期了。
编辑:这是一个更好的例子,看看我是否遗漏了一些更明显的东西: 这在以前用于在加载页面并且用户滚动到底部之后从数据库动态加载更多信息。当用户点击页面底部时,javascript仍然可以显示一个消息框,但后面的c#代码中的Web方法永远不会被调用...
var pageIndex = 1;
var pageCount;
$(window).scroll(function () {
// Everytime that the user scroll reaches the bottom of the page, execute function GetRecords
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
GetRecords();
}
});
function GetRecords() {
// Local variable page index begins at 1, and each time the user scrolls to the bottom of the page
// this number is increased to mark how many times the user has hit the bottom of the page.
// This later marks how many elements have been loaded from the database.
pageIndex++;
// On first scroll, pageCount is null so pageIndex is 2, and function still needs to be executed.
if (pageIndex == 2 || pageIndex <= pageCount) {
// Display a loading bar
$("#loader").show();
window.alert("loading");
$.ajax({
// POST signals a data request
type: "POST",
// This directs which function in the c# code behind to use
url: "databaseLoadDynamic.aspx/GetCustomers",
// The paramater pageIndex, page number we need to load, to pass to GetCustomers(int pageIndex)
data: '{pageIndex: ' + pageIndex + '}',
// Type of data we are sending to the server (i.e. the pageIndex paramater)
contentType: "application/json; charset=utf-8",
// Type of data we expect back from the server (to fill into the html ultimately)
dataType: "json",
// If all goes smoothly to here, run the function that fills our html table
success: OnSuccess,
// On failure, error alert user (aka me so that I know something isn't working)
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
}
}
非常感谢你的帮助!