Frage

Ich versuche, einen HTTP -Handler zu schreiben, um RSS XML zu generieren (basierend auf dem CKS -Code).

Ich möchte in der Lage sein, die Liste/Bibliothek zu erhalten, auf die sich der Endpunkt der URL bezieht.

Zum Beispiel, wenn meine URL ist:

Ich möchte in der Lage sein, die Seitenbibliothek des Web -Veröffentlichungsnetzes zu erhalten.

Nebenbei bemerkt, wenn ich das auf die falsche Weise vorbereite, lassen Sie es mich bitte wissen.

Update 1

Es kann für mich einfacher sein, meinen Code zu zeigen (für die Behinderung).

public void ProcessRequest(HttpContext context)
    {

        try
        {
            SPList list = SPContext.Current.Web.GetListFromUrl(context.Request.Path);
        }
        catch (Exception ex)
        {
            context.Response.Write("Error getting list from spcontext.current.web.GetListFromUrl: " + ex.Message + "<br />");
        }

        try
        {
            SPList list = SPContext.Current.List;
            context.Response.Write("List title: " + list.Title.ToString() + "<br />");
        }
        catch (Exception ex)
        {
            context.Response.Write("Error getting list from spcontext.current.list: " + ex.Message + "<br />");
        }

        try
        {
            context.Response.Write("List Title from SPConext: " + SPContext.Current.List.Title.ToString());
        }
        catch (Exception ex)
        {
            context.Response.Write("Error getting list from spcontext.current.list.title.tostring: " + ex.Message + "<br />");                
        }

    }

Die angezeigten Fehlermeldungen sind ...

  • Fehlerliste von spcontext.current.web.getListfromurl: Diese Aktion kann nicht ausfüllen. Bitte versuche es erneut.
  • Fehlerliste von spcontext.current.List: Objektreferenz nicht auf eine Instanz eines Objekts festgelegt.
  • Fehlerliste von spcontext.current.list.title.toString: Objektreferenz nicht auf eine Instanz eines Objekts festgelegt.
War es hilfreich?

Lösung 2

Ich habe es geschafft, den Listennamen durch String Manipulation zu erhalten.

Andere Tipps

Sie haben Zugriff auf Spcontext innerhalb eines HTTP -Handlers, daher sollten Sie in der Lage sein, zu verwenden:

SPContext.Current.List

Wenn aus irgendeinem Grund das kippen Seien Sie verwendet, dies sollte Sie dorthin bringen:

SPContext.Current.Web.GetListFromUrl()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top