我已经有这个问题已经有一段时间了,并尝试了各种解决方案,使用各种标签编辑Webconfig。
我在我的网页上使用Updatepanels,计时器和AJAX。(可能是AJAX会引发错误吗?)
我真的不知道如何定义问题,因为我真的不知道在哪里跟踪它。
我在主页上的主体上放了一个onload(不知道那是不是) 下面是一些标记代码和我认为会引发错误的Javascript代码。
母版:
<!DOCTYPE html>
<html lang="en">
<head runat="server">
<meta charset="utf-8" />
<title><%: Page.Title %> - </title>
<link href="~/Content/Site.css" rel="stylesheet" />
<link href="~/Content/BarChart.css" rel="stylesheet" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<asp:PlaceHolder runat="server">
<script src="<%: ResolveUrl("~/Scripts/_references.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/modernizr-2.5.3.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/jquery-1.7.1.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/jquery-1.7.1.min.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/jquery-ui-1.8.20.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/jquery-ui-1.8.20.min.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/ButtonManager.js") %>"></script>
<script src="<%: ResolveUrl("~/Scripts/BarChart.js") %>"></script>
</asp:PlaceHolder>
<meta name="viewport" content="width=device-width" />
<asp:ContentPlaceHolder runat="server" ID="HeadContent" />
</head>
<body >
<form runat="server">
<asp:ScriptManager runat="server">
<Scripts>
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="jquery.ui.combined" />
</Scripts>
</asp:ScriptManager>
<header>
<div class="content-wrapper">
<div class="float-left">
<asp:ImageButton ID="Logo" cssclass="site-title" runat="server" PostBackUrl="~/" ImageUrl="~/Images/Logo.png" />
</div>
<div class="float-right">
<section id="login">
<asp:LoginView runat="server" ViewStateMode="Disabled">
<AnonymousTemplate>
<ul>
<li><a id="registerLink" runat="server" href="~/Account/Register.aspx">Register</a></li>
<li><a id="loginLink" runat="server" href="~/Account/Login.aspx">Log in</a></li>
</ul>
</AnonymousTemplate>
<LoggedInTemplate>
<p>
Hello, <a runat="server" class="username" href="~/Account/Manage.aspx" title="Manage your account">
<asp:LoginName runat="server" CssClass="username" />
</a>!
<asp:LoginStatus runat="server" LogoutAction="Redirect" LogoutText="Log off" LogoutPageUrl="~/" />
</p>
</LoggedInTemplate>
</asp:LoginView>
</section>
<nav>
<ul id="menu">
<li><a runat="server" href="~/">Home</a></li>
<li><a runat="server" href="~/Barchart.aspx">About</a></li>
<li><a runat="server" href="~/Contact.aspx">Contact</a></li>
</ul>
</nav>
</div>
</div>
</header>
<div id="body">
<asp:ContentPlaceHolder runat="server" ID="FeaturedContent" />
<section class="content-wrapper main-content clear-fix">
<asp:ContentPlaceHolder runat="server" ID="MainContent" />
</section>
</div>
<footer>
<div class="content-wrapper">
<div class="float-left">
<p>© <%: DateTime.Now.Year %> - My ASP.NET Application</p>
</div>
</div>
</footer>
</form>
</body>
</html>
CONTENTPAGE:
<asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent">
</asp:Content>
<asp:Content runat="server" ID="BodyContentHome" ContentPlaceHolderID="MainContent" >
<asp:Panel ID="UpdatepanelWrapper" CssClass="Updatepanelwrapper" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="WholeWrapper">
<asp:PlaceHolder runat="server" ID="QuestionWrapper">
<asp:PlaceHolder runat="server" ID="LabelQuestion"></asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="Question"></asp:PlaceHolder>
</asp:PlaceHolder>
</asp:PlaceHolder>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnAdd" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnDelete" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Panel ID="ButtonPanel" CssClass="ButtonPanel" runat="server">
<asp:ImageButton ID="btnDelete" runat="server" ImageUrl="~/Images/Deleteicon.png" CssClass="DeleteButtonHidden" OnClientClick="btnDelete_Click" />
<asp:ImageButton ID="btnAdd" runat="server" ImageUrl="~/Images/Addicon.png" CssClass="AddButtonMoreMargin" OnClientClick="btnAddQuestion_Click" />
</asp:Panel>
</asp:Panel>
<asp:Button ID="btnSendQuestions" runat="server" Text="Skapa Föreläsning och frågor" OnClick="btnSendQuestions_Click" ValidationGroup="QuestionGroup" />
</asp:Content>
JAVASCRIPT CODE:
if (window.addEventListener) window.addEventListener("load", load(), true);
else window.onload = load();
function load() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
function EndRequestHandler(sender, args) {
// NOT IMPORTANT
}
答案 0 :(得分:9)
我刚刚解决了这个问题。我认为。 我知道该函数是在构建DOM之前运行的。
所以我刚刚做了这个
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
});
还有一个问题是压倒一切。 当我点击Imagebutton btnAdd 控制台说:
Uncaught ReferenceError: btnAddQuestion_Click is not defined
onclick
这会将我引导到我编写此ImageButton的代码行。
Internet Explorer根本不喜欢这样。但是其他浏览器就像没有任何东西一样继续进行,即使错误消息出现在开发控制台中。
Button功能适用于。唯一的问题是错误。
编辑:现在解决了。我正在使用“OnClientClick”。在ImageButtons上。我将其更改为OnClick,这解决了这个问题。 我不知道两个人之间的区别,但只要它有效,我很高兴。答案 1 :(得分:2)
您需要做的就是在脚本管理器中设置<asp:ScriptManager ID="ScriptManager1" runat="server" EnableCdn="true" />
,
像这样:
Sys
基本上,由于某种原因,EnableCdn="true"
库未被下载,如果您设置Sys
,它将使用Microsoft的内容分发网络(CDN)下载您需要的脚本,包括lengths_float=[float(element) for element in lengths]
库。
我在this帖子中有更详细的解释。
答案 2 :(得分:1)
在我的案例中,我发现罪魁祸首是由于在重写的函数/方法OnPreRenderComplete中错过了对MyBase.OnPreRenderComplete(e)的调用。
通过包含对MyBase.OnPreRenderComplete(e)的调用,一切都很顺利。 如果缺少对MyBase.OnPreRenderComplete(e)的调用,那么错误 &#34;未捕获的ReferenceError:未定义Sys&#34;收到了很多东西都不能正常工作。
受保护的覆盖Sub OnPreRenderComplete(ByVal e As EventArgs) &#39; MyBase.OnPreRenderComplete(e)中 ... 结束子
答案 3 :(得分:0)
对于asp.net页面
只需在页面上添加Scriptmanager。
如何添加 转到工具栏(Visual Studio的左侧) - &gt; AJAX扩展 - &gt; Scriptmanager - &gt;双击或拖放
:)
答案 4 :(得分:0)
在我的情况下,问题是我已经推出以下代码以在部分回发后保留gridview表头:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
chrome_path=r"C:\Users\Bhanwar\Desktop\New folder (2)\chromedriver.exe"
driver =webdriver.Chrome(chrome_path)
driver.get("https://priceraja.com/mobile/pricelist/samsung-mobile-price-list-in-india")
driver.implicitly_wait(10)
i=0
while i<4:
driver.find_element_by_css_selector('.loadMore').click()
driver.implicitly_wait(10)
i+=1
删除此代码可以解决问题。
答案 5 :(得分:0)
另一个解决方案是将脚本标记放在webform或母版页底部的html close标记之前:
<html>
<body>
.
.
.
</body>
<script type="text/javascript" src="/scripts/script.js"></script>
</html>
如果网页表单使用母版页,您必须在结束</asp:Content>
标记之前放置脚本标记。