首先,我是C#和SharePoint的新手,(不到一个月的经验)如果这是一个明显或简单的问题,我很抱歉,但我已经在网上拖了几天,现在绝对没有成功
我有一个xslt文件,我已经存储在新网站的“样式库”子目录中但是如何从c#中访问它?
我看过SPSite和SPWeb,但似乎都没能做到我想要的。
将非常感激地收到任何和所有的帮助。
非常感谢
C#新手
答案 0 :(得分:1)
以下是从列表中检索列表项的一些代码:
SPList list = web.Lists["MyLibrary"];
if (list != null)
{
var results = from SPListItem listItem in list.Items
select new
{
xxx = (string)listItem["FieldName"]),
yyy = (string)listItem["AnotherField"],
zzz = (string)listItem["Field"]
};
}
要检索文件,您还可以在SPWeb上使用此方法:GetFileAsString
答案 1 :(得分:0)
答案 2 :(得分:0)
没有linq:
int itemId = getItemId();
SPWeb currentWeb = SPContext.Current.Web;
SPList list = currentWeb.Lists["MyList"];
if ( list != null )
{
SPListItem theItem = list.Items.GetItemById(itemId);
doWork(theItem);
}
可以通过多种方式检索SPWeb,如果从SharePoint调用代码,则使用SPContext将起作用。要从URL获取SPWeb对象,您可以使用SPSite对象,即
using ( SPSite site = new SPSite(urlToWeb) )
{
using (SPWeb web = site.OpenWeb())
{
doWork(web);
}
}
'using'语句通过在相关对象上调用'Dispose()'来确保及时回收非托管资源。
HTH, JT
答案 3 :(得分:0)
非常感谢您对此的帮助。我已经使用了一些,并做了一些额外的阅读,并提出了以下内容:
private static string getXsl()
{
string xslString = null;
using (StreamReader streamReader = new StreamReader(
File.Open(HttpContext.Current.Server.MapPath(@"~_layouts\theXSL.xslt"), FileMode.Open)))
{
xslString = streamReader.ReadToEnd();
}
return xslString;
}
答案 4 :(得分:0)
尽管有效,您应该真正查看与在12个配置单元和内容数据库中存储文档相关的最佳实践。
在选择旅游路线之前,应该考虑更多可扩展的答案。