我正在使用VS 2008,我有一个非常简单的页面,它有一堆独特命名的控件。当我尝试在设计模式下查看它时,我收到以下错误:
Error Rendering Control - Label12
An unhanded exception has occurred.
Multiple controls with the same ID 'Label1' were found. FindControl requires that controls have unique IDs
我检查了HTML和设计器文件,我只能看到一个名为Label1的控件。可能导致这种情况的原因是什么?
另外,这是我遇到问题的aspx标记?
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="CoachingAppearanceReport.aspx.vb"
Inherits="AcademyPro.CoachingAppearanceReport" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="appearanceDetail" class="Left CriteriaContainer">
<asp:Label ID="Label1" runat="server" Text="Appearance Type" AssociatedControlID="ddlAppearanceType" />
<asp:DropDownList ID="ddlAppearanceType" runat="server" CssClass="AppType" OnDataBound="ddlAppearanceType_DataBound"
DataSourceID="odsAppearanceType" DataTextField="AppearanceType" DataValueField="AppearanceTypeCode">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvAppearanceType" runat="server"
ControlToValidate="ddlAppearanceType" InitialValue="" Text="*"
ErrorMessage="The appearance type must be selected" />
<asp:Label ID="lblAppearanceType" runat="server" />
<br />
<div class="SubSettings">
<asp:Label ID="Label12" runat="server" Text="Subbed for" AssociatedControlID="ddlSubbedFor" />
<asp:DropDownList ID="ddlSubbedFor" runat="server" OnDataBound="ddlSubbedFor_DataBound"
DataSourceID="odsPlayersInAgeGroup" DataTextField="PlayerName" DataValueField="PlayerID">
</asp:DropDownList>
<asp:Label ID="lblSubbedFor" runat="server" />
<br />
<asp:Label ID="Label13" runat="server" Text="Mins" AssociatedControlID="txtSubMins" />
<asp:TextBox ID="txtSubMins" runat="server" MaxLength="3" CssClass="TinyWidth" />
<asp:Label ID="lblSubMins" runat="server" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
答案 0 :(得分:0)
这是一个'网络应用程序项目'吗?
您的“.designer.cs
”文件可能已损坏/已过期,并且其中包含两个“Label1”副本,这可能会导致您的问题。
如果是这种情况,请删除“.designer.cs
”文件的内容,然后返回标记。在文件标题行后添加换行符,保存页面,然后删除该行并保存页面。这将迫使设计师重新生成,这可能会解决问题。
答案 1 :(得分:0)
我刚刚发现了同样的东西 - 它是asp:标签上的 AssociatedControlID 。当我删除时,设计师的错误消失了。 WTH?