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 mit SPListItem und SPBuiltInFieldId

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
6 Beiträge
dimbef erstellt 24 März 2010 13:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

<%@ Page Language="C#" %>
<%@ Assembly Name="Microsoft.SharePoint" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Import Namespace="Microsoft.SharePoint.Utilities" %>
<%@ Import Namespace="System.Globalization" %>

<script runat="server">

    void Page_Load(Object Sender, EventArgs e)
    {
        // Check the URL parameters and return the correct list, or error out if necessary
        SPList list = GetListFromUrl();
       
        // If we got null, return an error to the user
        if (list == null)
        {
            Response.ContentType = "text/html";
            Response.Write("<html><body><h1>Error</h1>Missing or incorrect query parameter: List.</body></html>");
            return;
        }

        // Set the correct content type for the document (now that we know it isn't an error)
        Response.ContentType = "text/calendar";

        // Write the VCalendar header
        WriteHeader(list);
       
        // Write the timezone section and return the tz alias
        String timeZone = WriteTimeZones();
       
        // Holds GUIDs for recurrence/exception mappings
        Hashtable idToGuid = new Hashtable();

        // Loop through each item and write it to the file
        foreach (SPListItem item in list.Items)
        {
        //SPListItem item2 = SPContext.Current.Web.Lists[list].Items[0];       
            WriteEvent(item, timeZone, idToGuid);
        }
       
        // Wrap up the file
        Write("END", "VCALENDAR");
    }

...

...

    private void WriteEvent(SPListItem item, String timeZone, Hashtable idToGuid)
    {
        bool allDay = (bool)item["All Day Event"];

        //string title = item[SPBuiltInFieldId.Title].ToString();
       
       
        bool recur = ((bool)item["Recurrence"]) && (((Int32)item["Event Type"]) == 1);
        bool exception = (((Int32)item["Event Type"]) == 4);
        bool deleted = (((Int32)item["Event Type"]) == 3);
        String guid = ((String)item["GUID"]).Trim(new char[] {'{', '}'});
        DateTime created = Convert.ToDateTime(item["Created"]);
        String url = SPContext.Current.Web.Url + item.ParentList.Forms[PAGETYPE.PAGE_DISPLAYFORM].ServerRelativeUrl + "?ID=" + item.ID;
        DateTime start = Convert.ToDateTime(item["EventDate"]);
        DateTime end = Convert.ToDateTime(item["EndDate"]);
        String recurValue = null;
       
        // Skip deleted instances, since they get handled when the master series is written out
        if (deleted)
            return;

 

Bei den unterstrichenen Zeilen kommt es zu Fehlern. Die obere Zeile gibt als Code aus "Wert außerhalb des erwarteten Bereichs".

Die untere Zeile gibt beim Debuggen den richtigen Wert an!! Sobald ich aber den Code ausklammere kommt es zu einem "unerwartetem Fehler"! Ich kann den Code nicht einmal Debuggen weil dieser von vornherein abbricht!

Habe ich vielleicht etwas nicht importiert, damit SPBuiltInFieldId benutzt werden kann!

Ich selber kann kaum programmieren, habe diesen Code gefunden und versuche diesen nun etwas anzupassen etc.

Gruß dimbef