SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Custom User Control

Unbeantwortet Dieser Beitrag hat 8 Antworten

Ohne Rang
30 Beiträge
maltek erstellt 20 Feb. 2012 11:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich bin gerade dabei eine Applikationsseite für den MOSS zu entwickeln.

Das klappte bisher auch ganz gut, nun habe ich aber ein CustomUserControl geschrieben und eingebunden.
Beim Aufruf der Seite kommt jetzt folgende Fehlermeldung: 

Die Datei "/CONTROLTEMPLATES/ReportCenter/Messenger.ascx", auf die verwiesen wird, ist auf dieser Seite nicht zulässig. bei System.Web.UI.TemplateParser.ProcessError(String message)
bei System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile)
bei System.Web.UI.BaseTemplateParser.GetUserControlType(VirtualPath virtualPath)
bei System.Web.UI.MainTagNameToTypeMapper.ProcessUserControlRegistration(UserControlRegisterEntry ucRegisterEntry)
bei System.Web.UI.BaseTemplateParser.ProcessDirective(String directiveName, IDictionary directive)
bei System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)


Die web.config habe ich bereits um den Eintrag
<SafeControl src="~/_controltemplates/ReportCenter/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" /> 
erweitert, hat aber leider auch nicht geholfen.

Hat vielleicht jemand noch eine Idee woran es liegen könnte? 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Feb. 2012 13:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn Dein Control code-behind hat, braucht es einen <SafeControl Assembly=".../> Eintrag.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
30 Beiträge
maltek Als Antwort am 20 Feb. 2012 13:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke schon mal für den Tipp, eine code-behind habe ich tatsächlich.

Mit dem Assembly Verweis klappt es leider immer noch nicht. Brauch ich für das Control eine eigene dll?

Zur Zeit habe ich alle Dateien in einem Webapplication-Projekt und entsprechend auch eine gemeinsame dll. 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Feb. 2012 14:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="maltek"]Brauch ich für das Control eine eigene dll?[/quote]

Nein, Du mußt bei Assembly="" nur die richtige dll vollqualifiziert angeben, also mit dem sog. four-part-assembly-name.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
30 Beiträge
maltek Als Antwort am 20 Feb. 2012 14:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

<SafeControl Assembly="Melchers.ReportCenter.Gui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a28b4acd943db834" Namespace="Melchers.ReportCenter.Gui.Controls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />

Ist eigentlich alles soweit richtig.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Feb. 2012 15:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Und der Fehler erscheint immer noch? Bist Du sicher, daß es nicht ein Fehler innerhalb des Controls ist, wie z.B. ein nicht geschlossenes Tag? Und lege doch (zumindest testweise) mal die Assembly in den GAC.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
30 Beiträge
maltek Als Antwort am 21 Feb. 2012 07:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es ist ziemlich simpel gehalten, sollte kein Fehler drin sein.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Messenger.ascx.cs" Inherits="Melchers.ReportCenter.Gui.Controls.Messenger" %>

<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>

 

Im GAC liegt die Assembly auch, Fehler besteht weiterhin.
Vielleicht lasse ich das einfach mit den CustomControls... 

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 21 Feb. 2012 08:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast du auch die Assembly zu der CodeBehind class angegeben?

<%Assembly="...." %>

Ohne Rang
30 Beiträge
maltek Als Antwort am 21 Feb. 2012 11:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Assembly habe ich nun auch drin, hat leider auch nicht weitergeholfen.