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
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
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"/>
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
(
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}
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
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