我创建了一个新的ASP.NET Web应用程序,调试后我收到了服务器错误
ID为'WaitingPopup1'的控件需要页面上的ScriptManager。 ScriptManager必须出现在需要它的任何控件之前。
我是ASP.NET的新手,所以我可以在web.config中安装我的ScriptManager吗?
答案 0 :(得分:58)
ScriptManager
是需要添加到您创建的页面的控件。
<body>
<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
...
</form>
</body>
答案 1 :(得分:8)
如果您在页面上使用microsoft ajax,则需要将the script manager control添加到您的母版页或需要它的页面。它管理ASP.NET Ajax脚本库和脚本文件,部分页面呈现以及Web和应用程序服务的客户端代理类生成
<asp:ScriptManager ID="ScriptManger1" runat="Server">
</asp:ScriptManager>
<asp:ScriptManager
AllowCustomErrorsRedirect="True|False"
AsyncPostBackErrorMessage="string"
AsyncPostBackTimeout="integer"
AuthenticationService-Path="uri"
EnablePageMethods="True|False"
EnablePartialRendering="True|False"
EnableScriptGlobalization="True|False"
EnableScriptLocalization="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
LoadScriptsBeforeUI="True|False"
OnAsyncPostBackError="AsyncPostBackError event handler"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnResolveScriptReference="ResolveScriptReference event handler"
OnUnload="Unload event handler"
ProfileService-LoadProperties="string"
ProfileService-Path="uri"
RoleService-LoadRoles="True|False"
RoleService-Path="uri"
runat="server"
ScriptMode="Auto|Inherit|Debug|Release"
ScriptPath="string"
SkinID="string"
SupportsPartialRendering="True|False"
Visible="True|False">
<AuthenticationService
Path="uri" />
<ProfileService
LoadProperties="string"
Path="uri" />
<RoleService
LoadRoles="True|False"
Path="uri" />
<Scripts>
<asp:ScriptReference
Assembly="string"
IgnoreScriptPath="True|False"
Name="string"
NotifyScriptLoaded="True|False"
Path="string"
ResourceUICultures="string"
ScriptMode="Auto|Debug|Inherit|Release" />
</Scripts>
<Services>
<asp:ServiceReference
InlineScript="True|False"
Path="string" />
</Services>
</asp:ScriptManager>
答案 2 :(得分:5)
您可以在页面的<Form>
标记下方添加脚本管理器标记。以下是放置脚本管理器标记的方法。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
如果您使用母版页,建议您在母版页中使用脚本管理器,这样您就不必在包含AJAX控件的每个页面上反复编写它。
答案 3 :(得分:4)
只需将ScriptManager
置于form
标记内,如下所示:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
如果它有Master Page
,则将其放入母版页本身。
答案 4 :(得分:2)
在很多情况下,脚本管理器可能会出现类似的问题。首先尝试将脚本管理器添加到适当的占位符或在使用Ajax控件的内容之前出现的任何位置Holder。
我们需要在使用任何AJAX控件时添加ScriptManager,而不仅仅是更新Panel。
<asp:ScriptManager ID="ScriptManger1" runat="Server" />
如果您使用的是最新的Ajax Control Toolkit(我不确定版本4.0或4.5),您需要使用特定的ToolkitScriptManager而不是默认的Ajax扩展中的ScriptManager。
您只能在页面上使用一个ScriptManager或ToolKitScriptManager,如果您已在母版页上添加它,则无需再在网页上添加它。
此处提到的问题可能是因为ContentPlaceHolder请检查您的母版页上有多少内容占位符。让我们举一个例子,如果你有2个内容占位符&#34; Head&#34;和&#34; ContentPlaceHolder1&#34;在Master Page和ContentPlaceHolder1上是您的Content Page.please检查下面的代码我在这里添加了我的ScriptManager在第二个占位符下面有更新面板。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="MainContent" runat="server">
<asp:ScriptManager ID="ScriptManger1" runat="Server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
当我们在网页上默认选择母版页时,我们大多数人在设置网页表单时会出错,因为MasterPage会有相同数量的占位符。
<%@ Page Title="" Language="C#" MasterPageFile="~/Master Pages/Home.master" AutoEventWireup="true" CodeFile="frmCompanyLogin.aspx.cs" Inherits="Authentication_frmCompanyLogin" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>
我们无需删除任何PlaceHolder它是指导结构,但您必须在Same PlaceHolder中添加Web表单内容,您在其中添加ScriptManager(在母版页上)或在适当的占位符或任何出现的Holder中添加脚本管理器在使用Ajax控件的内容之前。
答案 5 :(得分:1)
答案 6 :(得分:1)
它只是想在ASPX页面上使用ASP控件。我通常把我放在标签下面,或者放在主人身体的第一个内容区域内(如果你使用母版页)
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="scriptManager" runat="server"></asp:ScriptManager>
<div>
[Content]
</div>
</form>
</body>
答案 7 :(得分:0)
在ASP.NET页面上,在表单标记内。
答案 8 :(得分:0)
脚本管理器必须在使用前放到页面上。这将直接在页面本身上,或者,如果您使用它们,则在主页面上。
标记将是;
<asp:ScriptManager ID="ScriptManager1" runat="server" LoadScriptsBeforeUI="true"
EnablePartialRendering="true" />
答案 9 :(得分:0)
head
的runat="server"
标记的form
<{1}}标记内runat="server"
ContentPanels
之前的UpdatePanels
的典型控件:&LT;%=的PageTitle%GT;
</form>
</body>