如何清除错误

时间:2011-06-04 05:31:33

标签: asp.net ajax scriptmanager

如何清除以下错误:

  

只有一个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>

4 个答案:

答案 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。

戴夫