如何清除以下错误:
只有一个ScriptManager实例 可以添加到页面中。 描述:未处理的异常 在执行期间发生 当前的网络请求。请查看 堆栈跟踪以获取更多信息 错误及其来源 代码。
异常详细信息: System.InvalidOperationException:仅 ScriptManager的一个实例可以 添加到页面。
源错误:未处理的异常 是在执行期间生成的 当前的网络请求 关于起源和信息的信息 异常的位置可以 使用异常堆栈识别 跟踪下面。
以下是我的HTML标记:
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/MasterPage.master"
CodeFile="ManualReport.aspx.cs" Inherits="ManualReport" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI"
tagprefix="telerik" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server"
ID="ContentPlaceHolder1">
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<form id="mainform" runat="server"><table width="100%" >
<asp:ScriptManager ID="ScriptManager2" runat="server">
</asp:ScriptManager>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</form>
<div>
<tr><td>Customer Name</td><td>
<asp:RadioButton ID="rdbcustomerAll" runat="server" Visible ="false"
GroupName="CustomerValidation"
Text="All" Checked="false" /></td><td>
<asp:RadioButton ID="rdbcustomerSpecific" runat="server"
GroupName="CustomerValidation" Visible="false" Text="Spec" Checked="true" /></td></
td><td>
<asp:DropDownList ID="cmbName" runat="server">
</asp:DropDownList></td></tr>
<tr><td>Date</td><td><asp:RadioButton ID="rdbDateAll" runat="server"
Visible ="false" GroupName="DateValidation"
Text="All" /></td><td>
<asp:RadioButton ID="rdbDateSpec" runat="server" Visible ="false" Checked="true" GroupName="DateValidation" Text="Spec" /></td><td>
<telerik:RadDatePicker ID="rdpDate" runat="server" xmlns:telerik="telerik.web.ui">
</telerik:RadDatePicker>
</td></tr>
答案 0 :(得分:1)
ScriptManager
是服务器端组件,必须放在form
标记内。每页只能添加一个ScriptManager
个组件。在您的情况下,您提供了两个ScriptManager
组件。因此,您必须删除其中一个,ScriptManager
位于form
之外。
答案 1 :(得分:0)
页面中有两个脚本管理器:
<asp:ScriptManager ID="ScriptManager2" runat="server">
</asp:ScriptManager>
和
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
根据错误的描述,您必须删除一个。你可能只有一个。
答案 2 :(得分:0)
为什么在您的网页上添加ScriptManager
两次?你只能添加一个,这就是错误所说的。每页只允许一个ScriptManager实例。
请删除ScriptManager2
,它会对您有用。
其次ScriptManger应该在Form Tag下。像..
<form id="mainform" runat="server"><table width="100%" >
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</form>
答案 3 :(得分:0)
除了其他人已经给出的答案,这100%是正确的,你也过早地关闭了你的“表格”......
<form id="mainform" runat="server"></form>
将结束“表单”标记移动到所有服务器端ASP.NET控件之后,确保您的HTML保持有效...(很难确切知道在哪里没有看到完整标记,但我猜测接近结束内容标签:/ asp:内容)
编辑:实际上,也值得指出,因为你在这里使用母版页,你的母版页中可能已经有了一个服务器端表单...你不能在aspx子页面中有第二个表单。我建议可以将您的单脚本管理器放入您的母版页,在其他人指出的表单标签内,并从子(aspx)页面删除对脚本管理器和“表单”的所有引用)?HTH。
戴夫