2015-12-14 15 views
10

Tasarımcı sınıfta değil gerçek tip olur arkasındaki kod:özel denetim bir ascx ile tanımlanan genel "UserControl" ve ben (kodda VB.NET) ASP.NET özel bir kontrole sahip

Namespace Controls 

    Public Class MyControl 
     Inherits System.Web.UI.UserControl 

Bu, bir kütüphanede ayarlanır. Ben oluştururken, ben

'MyCustomProperty' diyerek bir hata alıyorum, ancak

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="mypage.aspx.vb" 
    Inherits="myproject.mypage" culture="auto" meta:resourcekey="Page" uiculture="auto" 
    Transaction="RequiresNew" MasterPageFile="Mynamespace.Master" 
    Theme="ThemeBase2" StylesheetTheme="ThemeBase2" %> 

<%@ Register tagprefix="Controls" tagname="MyControl" src="../Controls/MyControl.ascx" %> 

<%-- some asp.net --%> 

<Controls:MyControl ID="mycontrol1" runat="server" 
        MyCustomProperty="value" /> 

'System.Web.UI.UserControl üyesi değildir: Farklı proje bir sayfada bu denetimi kullanır '.

Ve designer.vb sayfasında

görüyorum:

Protected WithEvents mycontrol1 As Global.System.Web.UI.UserControl 

Nasıl bu hale sağlarım:

Protected WithEvents mycontrol1 As Global.Mynamespace.Controls.MyControl 

?

+0

Başka bir projede * kullanıcı denetimlerinin * (normal sunucu denetimlerinin tersine) referans alınmasının desteklenen bir senaryo olduğundan emin değilim. –

cevap

1

Kişisel .Ascx dosyası erişilemez.

Daha fazla bilgi için bu link numaralı telefona danışabilirsiniz.

Sizin denetimlerinizi paylaşmak isterseniz, CustomControl yerine UserControl oluşturmanızı öneririm. Ne yazık ki, daha fazla iş var çünkü tasarımcı kullanılamaz

2

MyControl'un Global.Mynamespace.Controls.MyControl içinde tanımlandığından emin olun. Bu ad alanını miras alır, ancak bunun tanımlandığı ad alanı olması gerektiği düşünülmektedir. Ayrıca, elbette MyCustomProperty öğesinin tanımlandığından emin olun. Bir kütüphaneden Eğer kütüphane gömülü bir kaynak olarak .Ascx dosyayı kaydedin ve web uygulamasında extern kaynak olarak yüklemeniz gerekir

olduğu için

+0

Denetimin arkasındaki kodda "Global.Mynamespace.Controls.MyControl" i açıkça belirtmeyi denedim, zar yok. – MPelletier

+0

@MPelletier Cevabımı düzenledim. Umarım bu yardımcı olur. – ic3man7019

+0

Bunu yapamam. Bu benim sayfamın arkasındaki kod. Ona ihtiyacım var. Ayrıca, başka özel kontrollerim var. – MPelletier

İlgili konular