コードを使用して SharePoint を操作する最良の方法は何ですか? 時間を無駄にすることなく、追求する適切な領域を見つけようとしています。C#? JavaScript?
現在、SharePoint リスト駆動型の Web パーツを作成しようとしています...基本的にナビゲーション バーを作成し、そのナビゲーション バー全体の名前/リンクが表示されますが、SharePoint リストが構成されています。
コードを使用して SharePoint を操作する最良の方法は何ですか? 時間を無駄にすることなく、追求する適切な領域を見つけようとしています。C#? JavaScript?
現在、SharePoint リスト駆動型の Web パーツを作成しようとしています...基本的にナビゲーション バーを作成し、そのナビゲーション バー全体の名前/リンクが表示されますが、SharePoint リストが構成されています。
Lists.asmx Web サービスと JavaScript を使用できます。以下は、SharePoint リストのクエリに使用するコードです。
var url = document.URL;
if(url.indexOf("https://") != -1)
{
var urllink = document.location.href.replace("https://","");
var prefix = "https://";
}
else
{
var urllink = document.location.href.replace("http://","");
var prefix = "http://";
}
var link = (urllink.split("/"))[0];
$(document).ready(function() {
var soapEnv =
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
<soapenv:Body> \
<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
<listName>Web Pages</listName> \
<viewFields> \
<ViewFields> \
<FieldRef Name='Title' /> \
</ViewFields> \
</viewFields> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";
$.ajax({
url: prefix+link+"/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset=\"utf-8\""
});
});
var names = new Array();
var href = new Array();
var iterator;
function processResult(xData, status) {
$(xData.responseXML).find("z\\:row, row").each(function() {
names.push($(this).attr('ows_Title'));
href.push($(this).attr('ows_FileRef'));
});
}
Web パーツ機能に C# を使用できます。空のプロジェクトを作成し、プロジェクトに Web パーツ (非ビジュアル Web パーツ) を追加します。C# オブジェクト モデルを使用して SPList オブジェクトをクエリし、foreach ループを実行して値をナビゲーション バーに吐き出します。
C# の問題は、ソリューションの別のバージョン番号で機能を更新する必要がある場合に発生します。ただし、機能のアップグレード プロセスに優れている場合を除きます。以前のバージョンの Web パーツ インスタンスは、それらが格納されている ASPX の WP ゾーンにスタックしています。私は自分のソリューションをバージョン 1.0 に保ち、機能の説明にビルドのバージョン番号を書き留めます。これは、サイト設定の機能リストに表示されます。
Web パーツ機能に JavaScript を使用できます。空のプロジェクトを作成し、プロジェクトに Web パーツ (非ビジュアル Web パーツ) を追加します。特定のナビゲーション リストで getitems の Web サービスを呼び出します。Visual Studio は、リストが存在する SP サイトの厳密な名前のクラスを作成し、そのサイト内のすべてのリストの定義を格納します。ナビゲーション リストが変更された場合は、Web サービスを更新し、この厳密な名前のクラスを更新します。
When your web part runs, the web service will run as the user that is logged in. そのため、すべての訪問者に表示権限があることを確認するか、AD サービス アカウントを作成して Web サービスを呼び出します。Javascript が XML を返したら、Lync to XML などのパーサーを使用してデータを取得し、HTML をナビゲーション バーに吐き出します。
どちらが優れているかよりも、快適な好みが重要です。SharePoint 2013 を使用している場合は、ファーム機能の代わりに SP アプリを作成します。その後、JavaScript と Web サービスのみを使用できます。