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.




ListFieldIterator und DefaultTemplates.ascx

Geprüfte Antwort Dieser Beitrag hat 4 Antworten

Ohne Rang
168 Beiträge
niceoldlady erstellt 9 Apr. 2010 09:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi alle miteinander,

für ein aktuelles Projekt wird ein eigener ListFieldIterator benötigt. Sagen wir zur einfachheit die Methode IsFieldExcluded gibt immer <true> zurück. (keine Felder anzeigen)

Damit mein eigener Iterator auch genutz werden kann, muss dieser ja in registriert werden. Laut dieverser Artikel im Internet geschieht dies in der \12\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx. Ich habe also in <SharePoint:RenderingTemplate id="ListForm" runat="server"> den <SharePoint:ListFieldIterator runat="server"/> durch meinen eigenen ersetzt: <Agenos:ListFormsFilterFieldIterator runat="server"/> wobei ListFormsFilterFieldIterator eine Klasse, welche von ListFieldIterator erbt ist. (natürlich habe ich den auch registriert <%@ Register TagPrefix="Agenos" Assembly="agenos.SharePoint.ListFormsFieldFilter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=614f74028a88413d" namespace="agenos.SharePoint.ListFormsFieldFilter"%>.

Leider hat sich nichts verändert.

Aus Testzwecken habe ich den Inhalt von <SharePoint:RenderingTemplate id="ListForm" runat="server"> mal auskommentiert: keine Wirkung. Selbst das Löschen vom kompletten Inhalt der Defaulttemplates.ascx hat rein gar nichts bewirkt.

 

Den iisreset nach jeder änderung habe ich nicht vergessen ;)

Mein System: Windows Server 2008 R2 (x64), WSS 3.0 SP2 (x64)

Das wirklich merkwürdige ist das es in einem Windows Server 2008 (x86), WSS 3.0 SP2 (x86) ohne Probleme funktioniert.

 

Hat einer ne Idee was hier los ist?

 

MfG

Jonas

 

P.S. Ich geb euch hier mal nochmal den Quelltext des Iterators:

 

using Microsoft.SharePoint.WebControls;

namespace agenos.SharePoint.ListFormsFieldFilter
{
    class ListFormsFilterFieldIterator : ListFieldIterator
    {
        protected override bool IsFieldExcluded(Microsoft.SharePoint.SPField field)
        {
            return true;
        }

  }

}

Alle Antworten

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 9 Apr. 2010 14:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

update: der SharePoint interessiert sich mitlerweile, warum auch immer, für Änderungen an der DefaultTemplates.ascx.

Aber sobald ich meine Assembly [quote user="niceoldlady"]<Agenos:ListFormsFilterFieldIterator runat="server"/>[/quote] einbinde, bleibt die Seite leer. Aber warum nur? Weiß einer was falsch ist?

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 12 Apr. 2010 09:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi ich nochmal,

mich überkams heute morgen mal in das Windows- Fehlerlog zu schauen:

 

Fehler beim Laden der Steuerelement-Vorlagendatei '/_controltemplates/DefaultTemplates.ascx': c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8ce2e621\b29ec3e4\App_Web_defaulttemplates.ascx.5f1d2a77.wwbe_hvg.0.cs(2804): error CS0122: 'agenos.SharePoint.ListFormsFieldFilter.ListFormsFilterFieldIterator' is inaccessible due to its protection level

Die Lösung ist ebenso simpel wie genial ;)

[quote user="niceoldlady"]

class ListFormsFilterFieldIterator : ListFieldIterator
    {
        protected override bool IsFieldExcluded(Microsoft.SharePoint.SPField field)
        {
            return true;
        }

  }

[/quote]

wird zu ->

public class ListFormsFilterFieldIterator : ListFieldIterator
    {
        protected override bool IsFieldExcluded(Microsoft.SharePoint.SPField field)
        {
            return true;
        }

  }

manchmal isses auch alles unötig genau ;)

 

MfG

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Apr. 2010 09:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der wird doch immer wieder gerne genommen. Du ahnst gar nicht, wie oft mir das schon passiert ist ;-)

Aber danke, daß Du auch die "Lösung" hier gepostet hast - vielleicht hilft es dem einen oder anderen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 12 Apr. 2010 15:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

naja, ich hoffe mir nich nochmal :)

 

bis demnächst ;)