从HTTP处理程序获取当前列表/库
-
16-10-2019 - |
题
我正在尝试编写一个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()