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.




Visual WebParts aus VS2010 erstellen ... Fehler: One or more field types are not installed property. Go to the list settings page to delete these fields.

Unbeantwortet Dieser Beitrag hat 10 Antworten

Ohne Rang
84 Beiträge
Taylorcraft erstellt 17 Okt. 2014 14:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

http://msdn.microsoft.com/en-us/library/office/ff728094%28v=office.14%29.aspx

 

Hallo,

 

via des obangeführten Links habe ich einmal über diese MS Webseite, diese Schritte nachzuvollziehen ... eigentlich nicht sonderlich kompliziert sofern man sich genau Schritt für Schritt daran hält ... sollte man meinen - DENN:

 

Der in dem Betreff angeführte Fehler dürfte allgemein bekannt sein und ich scheitere daran sichtlich nicht als einziger ... stundenlange Netz Recherche hatte einiges zu Tage gebracht und auch die unzähligen Versuche des testweisen Nachvollziehens auch keine Lösung erbracht ...

 

>>>>> Die erforderliche Liste (tja besteht ja nur aus 2 columns) ist ordnunsgemäß erstellt ... nichts verändert und der "Interne Columns Namen" ist auch identisch und OK ...

 

>>>>> die WebPart Seite ist ebenfalls ordnungsgemäß erstellt und die WebParts lassen sich auch einfügen ...

 

Allerdings wird diese Liste nicht so wie in dieser Web Anleitung dargestellt ... das Due Date zwar schon, aber nicht die Liste ...

 

Im Visual Studio 2010 ... in dem VisualWebPart1UserControl.ascx.cs - sowie in dem VisualWebPart1UserControl.ascx ... finde ich ebenfalls keine Widersprüche oder dergleichen ...

 

Na vielleicht hat das einmal jemand ebenso wie ich versucht nachzubauen und den selben Fehler erhalten ... bin schon etwas am zweifeln, da ich mich schon einige Zeit damit beschäftige und zu keiner Lösung komme ... Na ja, mal abwarten ...

 

Danke & nettes Wochenende und Grüße, Andreas ...

 

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Okt. 2014 08:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die genannte Fehlermeldung ist eine der häufigsten und man darf sie auf keinen Fall wörtlich nehmen. Sie erscheint immer wenn rund um eine Liste irgendetwas nicht stimmt.

Ich habe die Anleitung kurz überflogen und bin ziemlich sicher, daß die dort verwendete SPQuery die Ursache ist. Wenn man dort auch nur den kleinsten Fehler macht, wird das immer mit eben dieser Fehlermeldung belohnt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 23 Okt. 2014 08:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry war einige Tage urlaubsbedingt "out of order" und sage einmal Danke ... befasse mich weiter damit und melde mich wie gehabt wenn ich die Lösung kenne ...

 

Vielleicht fällt dem einen oder anderen noch etwas dazu ein ...

 

Bis dahin ...

 

LG, Andreas ...

 

;-)

Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 23 Okt. 2014 13:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So ... FEHLER GEFUNDEN ...mit dem SPQuery warst du schon am richtigen Weg ...

 

FALSCH

            SPQuery query = new SPQuery(ProjectsListView.List.DefaultView);
            query.ViewFields = "<FieldRef Name=\"Title\" /><FieldRef Name=\"Due_x0020_Date\" />";
            query.Query = string.Format(
                "<Where><Leq><FieldRef Name=\"Due_x0020_Date\" /><Value Type=\"DateTime\">{0}</Value></Leq></Where>"
                , dueDate.ToString("s"));

 

RICHTIG

            SPQuery query = new SPQuery(ProjectsListView.List.DefaultView);
            query.ViewFields = "<FieldRef Name=\"Title\" /><FieldRef Name=\"DueDate\" />";
            query.Query = string.Format(
                "<Where><Leq><FieldRef Name=\"DueDate\" /><Value Type=\"DateTime\">{0}</Value></Leq></Where>"
                , dueDate.ToString("s"));

 

 

Schlichtweg den "internal name" bei der Listenerstellung übersehen ... bei dem Thema war ich ja schon, aber einfach den Kopf davon zuviel bekommen ...

 

Als dann, Danke und bis zum nächsten mal ...

 

LG, Andreas ...

;-)

Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 23 Okt. 2014 14:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Allerdings habe ich da noch eine "kosmetische Sache" ... wenn ich den Part aufrufe, "added" sich jedes mal eine Zeile hinzu ... sollte sich doch nur 1x dort befinden ... ODER ??? ...

 

Danke, LG, Andreas

 

 

 

[View:http://sharepointcommunity.de/themes/3dzl/utility/:550:0]

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Okt. 2014 14:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du hast bisher nicht gesagt, was das Webpart eigentlich macht  und schon gar nicht den Code dazu gezeigt. Da kann man also nicht viel zu sagen...

Ich vermute einfach mal, daß da eine IsPostBack-Abfrage fehlt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 24 Okt. 2014 08:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry bin da ja ein Neuling und versuche ansonst schon so genau wie möglich Fehlerquellen zu beschreiben ... lass mich einmal zu der Fehlerquelle mich "handeln" ... lasse dir den Code dann auch zukommen ... ist ja kein Geheimnis ... wie schon erwähnt, handelt es sich da um ein Programmierbeispiel ...

 

http://msdn.microsoft.com/en-us/library/office/ff597539%28v=office.14%29.aspx

 

So ich checke das einmal und melde mich wieder ... Danke ...

 

LG, Andreas

Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 27 Okt. 2014 14:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

1 utf-8

0 21 false false false DE-AT X-NONE X-NONE VisualWebPart1UserControl.ascx.cs

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using System.Web;

namespace ProjectsListWebPart.VisualWebPart1
{

    public partial class VisualWebPart1UserControl : UserControl
        {

            protected void Page_Load(object sender, EventArgs e)
            {

                //----------------------------------------
                if (!IsPostBack)
                //----------------------------------------
                {


                DateTime dueDate = DateTime.Now;

                if (!string.IsNullOrEmpty(Request.QueryString["date"]))
                {
                    dueDate = DateTime.Parse(Request.QueryString["date"]);
                }

                DueDate.SelectedDate = dueDate;

                SPWeb home = SPContext.Current.Web;
                ProjectsListView.List = home.Lists["Projects"];

                SPQuery query = new SPQuery(ProjectsListView.List.DefaultView);
                query.ViewFields = "<FieldRef Name=\"Title\" /><FieldRef Name=\"DueDate\" />";
                query.Query = string.Format(
                    "<Where><Leq><FieldRef Name=\"DueDate\" /><Value Type=\"DateTime\">{0}</Value></Leq></Where>"
                    , dueDate.ToString("s"));

                ProjectsListView.DisableFilter = true;
                ProjectsListView.DisableSort = true;
                ProjectsListView.Query = query;

                } //if (!IsPostBack)
            } //protected void Page_Load


            protected void OnDate_Changed(object sender, EventArgs e)
            {
                SPUtility.Redirect(SPContext.Current.ListItem.Name
                     , SPRedirectFlags.Default
                     , HttpContext.Current
                     , string.Format("date={0}", DueDate.SelectedDate.ToString("d")));
            } //protected void OnDate_Changed

   
    } //public partial class VisualWebPart1UserControl
} //namespace ProjectsListWebPart.VisualWebPart1

 

 

 

Hi,

obangeführt der Code Teil ... habe nun Heute lange im Netz recherchiert aber nach unzähligen und erfolglosen Versuchen sichtlich den Sinn und das Wirken der "IsPostBack" Funktion nicht verstanden ... mir ist derzeit noch absolut unklar, WO es eingesetzt gehört ... mittlerweile bin ich mir auch nicht mehr sicher, ob ich überhaupt in dem Teil richtig bin ...

 

Ich meine es in den Grundzügen zwar verstanden zu haben, wie es arbeitet und somit eingesetzt gehört, allerdings nicht ...wie gesagt, es geht hier um die Mehrfachanzeige des "SP-Calendar_Site_DEV" in dem VisualWebPart1 ...

 

Verweifelt ist ein Hilfsausdruck ... ;-)

 

Danke & LG

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 27 Okt. 2014 16:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Tut mir leid, aber ich habe im Moment keine Zeit das Beispiel von MS und Deinen Code durchzuackern. Es scheint aber keine Postback-Problem zu sein.

Nur kurz zur Erklärung:

ASP.NET (und damit auch SharePoint) kennet das Konzept ViewState. Damit können Controls Ihren Zustand auch über Seitenaufrufe hinweg speichern. Wenn z.B. irgendwann der Text eines Labels geändert wird, dann "merkt" sich das Label das und zeigt auch später diesen Text an.

Normale Seitenaufrufe z.B. durch Eingeben der URL im Browser lösen einen HTTP GET Request aus. Wenn man z.B. einen Button klickt löst man dagegene einen HTTP POST Request aus. Die Seite wird dadurch neu geladen. Wenn Du z.B. beim ersten Aufruf einer Liste etwas hinzufügst und dann einen Button klickst, weiß die Liste noch vom ersten Element und durch das Hinzufügen bekommst Du ein zweites. Durch die IsPostBack-Abfrage kann man das verhindern.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 28 Okt. 2014 08:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kein IsPostBack Problem ... dann doch wieder eines ??? ...ich habe ja schon geschrieben das mir der technische Hintergrund so im Grossen und Ganzen klar ist, allerdings fehlt mir hierzu die Orientierung ...

 

Nochmals zur Info:  Ladet man die Seite Neu in einem Tap, so beinhaltet diese eine Zeile ... wählt man die Seite (Page) und geht in den "Edit" Modus, so bekommt man eine zweite ... schließt man den Edit-Modus (ohne etwas zu tun), so bekommt man eine dritte Zeile ...und und und ...siehe Hardcopy weiter oben ...

 

Mir braucht hier niemand den Code durchzuackern ... da diese Sache bereits bei mir so festgefahren ist, wollte ich nur den Ansatz dazu wissen ... ob ich in der VisualWebPart1UserControl.ascx.cs überhaupt richtig bin oder nicht ... und wenn nicht, WO wird dann diese "IsPostBack" Routinge eingesetzt ??? ... den Weg erarbeite ich mir dann schon ... 

 

Danke & LG

 

 

Ohne Rang
84 Beiträge
Taylorcraft Als Antwort am 29 Okt. 2014 15:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Lösung gefunden ...


Ich befand mich in einem falschen Projekt ... zustande gekommen ist das ganze, da ich es Schritt für Schritt nach der MS Seite anging ... hätte ich das ganze "sprechender" benamst, wäre es mir vermutlich eher aufgefallen ... leider habe ich diesen "Misch Masch" aus der Seite entnommen und nicht gleich vernünftiger benannt ...

 

FALSCH

Normal 0 21 false false false DE-AT X-NONE X-NONE namespace ProjectsListWebPart.VisualWebPart1

 

RICHTIG

Normal 0 21 false false false DE-AT X-NONE X-NONE namespace VisualWebPartProject2.VisualWebPart1



Das "if (!IsPostBack)" eingesetzt und es werden keine neuen Zeilen erstellt ...


LG