我在VS2005上开发了一个网站。编译好。
但是,当我尝试发布它“允许此网站可更新”时,我得到以下编译器错误:
错误BC30002:未定义“ASP.ucDireccion”类型。
问题接缝与用户控件相关,即可访问其公共属性和方法。
我在页面上有用户控件,并且还放了< @ register>页面上的指令。
这里是te编译器指出错误的相关代码
- Private Sub CargarDireccionAControl(ByVal ctrlDireccion As ASP.ucDireccion)
- Dim ctrl As ASP.ucDireccion = CType(Me.pnl_AdicionarSolicitudes.FindControl(id_Control), ASP.ucDireccion)
和其他几个人
以下是ASPX页面的相关部分:
<%@ Page EnableEventValidation="false" Language="VB" MasterPageFile="~/Principal.master"
AutoEventWireup="false" CodeFile="AV_SolicitudVerificacion.aspx.vb" Inherits="Verificaciones_AV_SolicitudVerificacion"
Title="Untitled Page" %>
<%@ Register Src="wucMapa.ascx" TagName="wucMapa" TagPrefix="uc2" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register Src="../UserControls/ucDireccion.ascx" TagName="ucDireccion" TagPrefix="uc1" %>
<%@ Reference Control="../UserControls/ucDireccion.ascx" %>
<%@ MasterType VirtualPath="~/Principal.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<ContentTemplate>
<asp:UpdatePanel ID="up_Solicitudes" runat="server">
<ContentTemplate>
...
...
...
<cc1:CollapsiblePanelExtender ID="cpeMapa" runat="server" Collapsed="True" TargetControlID="pnl_mapa">
</cc1:CollapsiblePanelExtender>
<asp:Panel ID="pnl_mapa" runat="server" BorderColor="WhiteSmoke" ForeColor="Black" BackColor="White" BorderStyle="Solid" HorizontalAlign="Center">
<uc2:wucMapa ID="wucMapa1" runat="Server" />
<asp:Button ID="bt_CancelarMapa" CssClass= "boton_azul" runat="server" CausesValidation="False" Text="Cancelar" OnClick="cancelarSolicitud"/></asp:Panel>
<uc1:ucDireccion ID="ucSolicitudDomicilio1" runat="server" TipoSolicitud="Domicilio"
Visible="false" />
<uc1:ucDireccion ID="UcSolicitudTrabajo1" runat="server" TipoSolicitud="Trabajo"
Visible="false" />
<uc1:ucDireccion ID="UcSolicitudTrabajo2" runat="server" TipoSolicitud="Trabajo"
Visible="false" />
<uc1:ucDireccion ID="UcSolicitudTrabajo3" runat="server" TipoSolicitud="Trabajo"
Visible="false" />
<uc1:ucDireccion ID="UcSolicitudTrabajo4" runat="server" TipoSolicitud="Trabajo"
Visible="false" />
<uc1:ucDireccion ID="UcSolicitudTrabajo5" runat="server" TipoSolicitud="Trabajo"
Visible="false" />
</ContentTemplate>
</asp:UpdatePanel>
...
...
用户控制相关部分
<%@ Control className="ucDireccion" Language="VB" AutoEventWireup="false" CodeFile="ucDireccion.ascx.vb" Inherits="ucDireccion" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
...
...
您应该注意,当我取消选中发布dialag的“允许此网站可更新”选项时。它工作正常。
非常感谢你的时间
问候雨果
答案 0 :(得分:0)
为什么这一行:
<%@ Reference Control="../UserControls/ucDireccion.ascx" %>
用**包围?
当它首先包含在页面中或者只是在@Page指令之后会发生什么?我会说它可以解决问题。
如果您还没有,请查看此帖子:
http://rbgupta.blogspot.com/2007/06/turning-ascx-user-control-into.html