我正在尝试编写一个HTTP处理程序来生成RSS XML(基于CKS代码)。

我希望能够获取URL终点所指的列表/库。

例如,如果我的URL是:

我希望能够获取“新闻发布”网络的页面库。

附带说明我要以错误的方式进行此操作,请告诉我。

更新1

我可能会更容易显示我的代码(智障)

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 />");                
        }

    }

显示的错误消息是...

  • 错误从spcontext.current.web.getlistfromurl获取列表:无法完成此操作。请再试一次。
  • 错误从spcontext.current.list获取列表:对象引用未设置为对象的实例。
  • 错误从spcontext.current.list.title.tostring获取列表:对象引用未设置为对象的实例。
有帮助吗?

解决方案 2

我设法通过字符串操纵获取列表名称。

其他提示

您可以在HTTP处理程序中访问Spcontext,因此您应该能够使用:

SPContext.Current.List

如果出于某种原因 不能 被使用,这应该把您带到那里:

SPContext.Current.Web.GetListFromUrl()
许可以下: CC-BY-SA归因
scroll top