C#内からプログラムでSharePointスタイルライブラリにアクセスする
-
05-07-2019 - |
質問
まず、私はC#とSharePointの初心者です(1か月未満の経験)。これが明白な質問または簡単な質問である場合は謝罪しますが、現在はまったく成功せずに数日間ネットを探しています。
新しいWebサイト内から「スタイルライブラリ」のサブディレクトリに保存したxsltファイルがありますが、c#内からこれにアクセスするにはどうすればよいですか
SPSiteとSPWebを見てきましたが、どちらも私が望んでいたことを何もできないようです。
すべてのヘルプが感謝されます。
多くの感謝
c#newbie
解決
リストからリストアイテムを取得するためのコードを次に示します。
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
他のヒント
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はさまざまな方法で取得できます。SPContextは、コードがSharePointから呼び出された場合に使用できます。 URLからSPWebオブジェクトを取得するには、SPSiteオブジェクトを使用できます。つまり、
using ( SPSite site = new SPSite(urlToWeb) )
{
using (SPWeb web = site.OpenWeb())
{
doWork(web);
}
}
「using」ステートメントは、関連するオブジェクトで「Dispose()」を呼び出すことにより、管理されていないリソースがタイムリーに回収されるようにします。
HTH、 jt
効果的かもしれませんが、12ハイブとコンテンツデータベースのドキュメントの保存に関連するベストプラクティスを本当に検討する必要があります。
レミングルートを選択する前に、よりスケーラブルな回答を検討する必要があります。
ご協力いただきありがとうございます。私はそれぞれから少しずつ使用し、いくつかの追加の読み取りを行って、次のことを思いつきました:
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;
}
所属していません StackOverflow