在asp.net C#中的另一个用户控件中使用一个用户控件的问题#

时间:2011-08-29 10:43:05

标签: asp.net user-controls

我在C#中的另一个用户控件中使用一个用户控件时遇到问题。 这是代码。

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CustomerDetail.ascx.cs"
Inherits="Controls_CustomerDetail" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register Src="~/PL_Controls/Admin/AddAddress.ascx" TagPrefix="CustomerAddress" TagName="Address" %>
<%--<%@ Register Src="~/PL_Controls/Admin/AddAddress.ascx" TagPrefix="UC" TagName="AddAddress" %>--%>
<style type="text/css">
.overlay_style
{
    background: #777777;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
 </style>


<div runat="server" id="divaddress" 
style="border-style: dashed; background: golden; background-color: #C0C0C0; display: block;">
<CustomerAddress:Address Id="CustomerAddress" runat="server" />

 </div>

这显示绿色行“地址:在div标签中,地址不是非元素的消息,如果网站中存在编译错误或web.config文件丢失,可能会发生这种情况。但我有web.config在我的应用程序中。当我尝试使用其ID在服务器端代码中使用此用户控件时,它在服务器端不可用。 请帮我摆脱这些问题...

3 个答案:

答案 0 :(得分:0)

尝试将Id更改为CustomerAddress之外的其他内容 - 您可能遇到了名称冲突问题。

答案 1 :(得分:0)

确保designer.cs文件声明用户控件实例。此外,如果用户控件位于同一个程序集中,并且您通过web.config引用它们,则可能会导致问题。

答案 2 :(得分:0)

在designer.cs文件中手动声明CustomerAddress,然后构建项目。您将看到此问题的更多相关错误。