Laden...

UserControll aus anderem Projekt einbinden

Erstellt von tom-cat vor 13 Jahren Letzter Beitrag vor 13 Jahren 806 Views
T
tom-cat Themenstarter:in
77 Beiträge seit 2010
vor 13 Jahren
UserControll aus anderem Projekt einbinden

Hallo zusammen,

ich habe in meiner VS Projektmappe 5 Projekte. Eins davon soll nur die Controlls enthalten.
Wie ich ein Usercontroll einbinde weiss ich, jedoch nicht wie es über das andere Projekt hin gehen soll.
Einen Verweis auf das Projekt wo die Controlls enthalten sind, habe ich.

In der Web.config habe ich derzeit diesen Tag.


 <pages>
      <controls>
        <add tagPrefix="ax" tagName="LableFirstName" src="~/Lables/ucLabelFirstName.ascx" >
        </add>
   
      </controls>
    </pages>

Jedoch liegt ja der src in dem anderen Projekt und einbinden kann ich das Controll auch nicht.

Hat da jemand eine Idee ?

BG Tom

1.552 Beiträge seit 2010
vor 13 Jahren

Hallo tom-cat,

das Projekt ist ja in deiner Solution drinnen, bzw im GUI-Projekt referenziert?
Wenn ja funktioniert es folgendermaßen:


<Windows .....
xmlns:CustomControls="clr-namespace:DEFAULT_NAMESPACE;assembly=ASSEMBLY_NAME" 

Verwenden kannst du es dann wie gehabt mit:

<CustomControl:NameSpaceZuControl.MyCustomControl/>

Beides fettgedruckte findest du in den Projekteigenschaften.
Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

T
tom-cat Themenstarter:in
77 Beiträge seit 2010
vor 13 Jahren

hmmm also so klappt das irgendwie nicht.

hier mal das Controll als Code


<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucLabelLastName.ascx.cs" Inherits="nameofCompany.Web.WebClientComponents.Labels.ucLableLastName" %>
<asp:Label ID="lbLastName" runat="server"></asp:Label>

Und hier aus der web.config


   <add tagPrefix="my" tagName="LableLastName" namespace="nameofCompany.Web.WebClientComponents.Labels" assembly="ucLabelLastName.ascx"/>

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo zusammen,

@xxMUROxx
Ich denke es handelt sich um ein Webprojekt - jedenfalls dem Forum nach.

@tom-cat
Du kannst die Controls aus der anderen Assembly schon einbinden, dazu musst Du aber die Assembly angeben:

<add tagPrefix="myPrefix" namespace="Namespace.Of.My.Control" assembly="Full.Qualified.Assemblyname"/>

Damit referenzierst Du die Controls aus dem angegebenen Namespace in der angegebenen Assembly für das entsprechende TagPrefix.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

1.552 Beiträge seit 2010
vor 13 Jahren

(

Ich denke es handelt sich um ein Webprojekt - jedenfalls dem Forum nach. Da hast du höchstwahrscheinlich Recht. Das ist mein großes Problem dass ich nicht immer darauf aufpasse in welchem Unterforum die Frage gestellt wurde.){gray}

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

T
tom-cat Themenstarter:in
77 Beiträge seit 2010
vor 13 Jahren

Hi MarsStein,

du sprichst von "Full.Qualified.Assemblyname" beim Assembly.

Bei mir ist das der hier: assembly="ucLabelLastName.ascx"
und der namespace: namespace="nameofCompany.Web.WebClientComponents.Labels"

Auch wenn ich den Assembly auf: assembly="nameofCompany.Web.WebClientComponents.Labels.ucLabelLastName.ascx"
setze kann ich es nicht laden ....

und Ja es handelt sich um ein Webprojekt

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

ich kann mir kaum vorstellen, daß Dein Assemblyname auf .ascx endet...
Der Assemblyname ist für gewöhnlich der Name der .dll, die erstellt wird wenn Du das Controls-Projekt erstellst, aber eben ohne die Endung .dll

Da die Assembly mehrere Controls enthalten kann, kann AFAIK an dieser Stelle auch kein Tagname angegeben werden (wobei ich mir in diesem Punkt nicht 100% sicher bin), dafür muss dann der Klassenname des Controls direkt verwendet werden.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca