当我尝试添加用户控件时出现此错误
只能将 ScriptManager 的一个实例添加到页面中
Code:
.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisaUserControl.ascx.cs" Inherits="Portal.VisaUserControl" %>
<%@ Register Assembly="BasicFrame.WebControls.BasicDatePicker" Namespace="BasicFrame.WebControls" TagPrefix="dp" %>
<asp:ScriptManager ID="scriptmanager1" runat="server"></asp:ScriptManager>
<div id="divreg" runat="server">
<table id="tbl" runat="server">
<tr>
<td>
<asp:Label ID="lbl2" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td> Visa Number:</td>
<td><asp:TextBox ID="txtUser" Width="160px" runat="server"/></td>
<td> Country Name:</td>
<td><asp:DropDownList ID="dropCountry" Width="165px" runat="server"></asp:DropDownList></td>
</tr>
<tr>
<td> Type of Visa:</td>
<td><asp:DropDownList ID="dropVisa" Width="165px" runat="server" OnSelectedIndexChanged="dropVisa_SelectedIndexChanged"></asp:DropDownList></td>
<td> Type of Entry:</td>
<td><asp:DropDownList ID="dropEntry" Width="165px" runat="server"></asp:DropDownList></td>
</tr>
<tr>
<td> Expiry Date</td>
<td><asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="txtDate" PopupButtonID="Imgbtnfromdate" Format="dd/MM/yyyy">
</ajaxToolkit:CalendarExtender>
</td>
<td>
<asp:Button ID="btnRemove" Text="Remove" runat="server" OnClick="btnRemove_Click" />
</td>
</tr>
</table>
</div>
.aspx.cs
protected override void LoadViewState(object savedState)
{
base.LoadViewState(savedState);
GenerateControls();
}
private void GenerateControls()
{
foreach (string i in NoOfControls)
{
VisaUserControl ctrl = (VisaUserControl)Page.LoadControl("VisaUserControl.ascx");
ctrl.ID = i;
this.rpt1.Controls.Add(ctrl);
}
}
这是问题所在
protected void btnAddVisa_Click(object sender, EventArgs e)
{
List<string> temp = null;
var uc = (VisaUserControl)this.LoadControl(@"VisaUserControl.ascx");
string id = Guid.NewGuid().ToString();
uc.ID = id;
temp = NoOfControls;
temp.Add(id);
NoOfControls = temp;
rpt1.Controls.Add(uc);
}
在下图中,如果我单击“添加”按钮,则会收到错误消息:
尝试删除ScriptManager
由用户控制。
您肯定已经在您的其他位置添加了 ScriptManager.aspx
页面或母版页。检查这些页面。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
如果您需要ScriptManager
在母版页上,在这种情况下,userControl 中不需要有 ScriptManager。请遵循以下规则:
- 确保您拥有且仅有一个
<asp:Scriptmanager>
在母版页上。
- 确保您也拥有一件且仅有一件
<asp:ScriptManagerProxy>
在可能需要脚本管理器的每个内容页面上
下面是什么MSDN说关于ScriptManager
控制。
只能将 ScriptManager 控件的一个实例添加到
页。页面可以直接或间接包含控件
在嵌套组件(例如用户控件、内容页)内
母版页,或嵌套母版页。如果页面已经包含
ScriptManager 控件,但需要嵌套或父组件
ScriptManager 控件的附加功能,该组件可以
包括 ScriptManagerProxy 控件。例如,ScriptManagerProxy 控件使您能够添加脚本和服务
特定于嵌套组件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)