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.




Fehler bei der Einbindung von User Controlls

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
11 Beiträge
Christoph erstellt 5 Okt. 2010 09:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich bastle an einer Lösung auf dem SharePoint Foundation 2010 und komme an einer Stelle einfach nicht weiter, vielleicht hat jemand von Euch eine Idee, wäre ich sehr dankbar.

Nun zum Problem:

Ich habe ein User Control TreeStart.ascx geschrieben, welches zwei weitere Controls lädt (TreePath.ascx und TreeControl.ascx) siehe hier:

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$"%>
<%
@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%
@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>
<%
@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"%>
<%@ Import Namespace="Microsoft.SharePoint"%>
<%
@ Register Src="~/_controltemplates/CS/TreePath.ascx" TagName="TreePath" TagPrefix="cs"%>
<%
@ Register Src="~/_controltemplates/CS/TreeControl.ascx" TagName="TreeControl" TagPrefix="cs"%>
<%
@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>
<%
@ Control Language="C#" AutoEventWireup="true" CodeBehind="TreeStart.ascx.cs" Inherits="CCS.Controls.TreeStart" %>

<

 

 

 

asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<asp:HiddenField ID="hiddenNodeID" runat="server" />
<cs:TreePath id="tpNavigation" runat="server" ></cs:TreePath>
<cs:TreeControl id="treeMain" runat="server" ></cs:TreeControl>
<asp:CustomValidator ID="validGlobal" runat="server" Display="Dynamic"></asp:CustomValidator
...

Das TreePath wird korrekt erkannt, TreeControl wird im VS2010 unterstrichen wie oben und liefert eine Warnmeldung "Das TreeControl-Element ist kein bekanntes Element. Ursache hierfür kann ein Kompilierungsfehler in der Webseite oder das Fehlen der Datei "web.config" sein."

Das Debbugen funktioniert jedoch, aber es kommt zu einem weiteren Fehler wenn ich versuche, das Control zu verwenden, hier ein Ausschnitt:

...
using CS.Controls;
namespace CS.CustomFieldTypes {
  public class TreePosition : BaseChoiceField {
   
protected TreeControl treeMain;
    ...

 

 

 

 

 

 

 

Der oben unterstrichene Ausdruck liefert immer "null". Ich vermutte, dass es mit der Warnung weiter oben zu tun hat, kann mich da aber auch irren. Für Tipps bin ich dankbar.

Schöne Grüße

Christoph

   protected override void CreateChildControls() {
     
if (Field == null) return;
        base.CreateChildControls();
       
if (ControlMode == Microsoft.SharePoint.WebControls.SPControlMode.Display)
         
return;
        treeMain = (
TreeControl)TemplateContainer.FindControl("treeMain");
        if (treeMain == null)
          throw new ArgumentException("tcMain is null. Corrupted MCCTreePositionFieldControl.ascx file.");
        if (!Page.IsPostBack) {
          treeMain.Checkable =
true;
          treeMain.RootNode =
"Root";
          treeMain.StartNodeID = sStartNodeID;
        }
    }
}

 

 

 

Der oben unterstrichene Ausdruck liefert immer "null". Ich vermutte, dass es mit der Warnung weiter oben zu tun hat, kann mich da aber auch irren. Für Tipps bin ich dankbar.

Schöne Grüße

Christoph

   protected override void CreateChildControls() {
     
if (Field == null) return;
        base.CreateChildControls();
       
if (ControlMode == Microsoft.SharePoint.WebControls.SPControlMode.Display)
         
return;
        treeMain = (
TreeControl)TemplateContainer.FindControl("treeMain");
        if (treeMain == null)
          throw new ArgumentException("tcMain is null. Corrupted MCCTreePositionFieldControl.ascx file.");
        if (!Page.IsPostBack) {
          treeMain.Checkable =
true;
          treeMain.RootNode =
"Root";
          treeMain.StartNodeID = sStartNodeID;
        }
    }
}

 

 

Der oben unterstrichene Ausdruck liefert immer "null". Ich vermutte, dass es mit der Warnung weiter oben zu tun hat, kann mich da aber auch irren. Für Tipps bin ich dankbar.

Schöne Grüße

Christoph

   protected override void CreateChildControls() {
     
if (Field == null) return;
        base.CreateChildControls();
       
if (ControlMode == Microsoft.SharePoint.WebControls.SPControlMode.Display)
         
return;
        treeMain = (
TreeControl)TemplateContainer.FindControl("treeMain");
        if (treeMain == null)
          throw new ArgumentException("tcMain is null. Corrupted MCCTreePositionFieldControl.ascx file.");
        if (!Page.IsPostBack) {
          treeMain.Checkable =
true;
          treeMain.RootNode =
"Root";
          treeMain.StartNodeID = sStartNodeID;
        }
    }
}