SharePoint - async呼び出しなしでJSOM + JSLinkを使用してフィールド値を取得する方法

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96071

質問

JavaScriptオブジェクトモデル(JSOM)にはかなり新しいことがあり、フィールド値を取得するための簡単な呼び出しをしたいです。C#ではとても簡単ですが、ListItemがありますが、フィールド値を取得できないようです。

overrideContext.Templates.Item = customItem;
function customItem(context) {
var title = context.CurrentItem["Title"];
var img = "<img src='" + getImageUrl(1) +  "' />";
return title + img;

function getImgUrl(classID) {
var clientContext = new SP.ClientContext();
var web = clientContext.get_web();
var sourceList = web.get_lists().getByTitle('ClassifiedImages');
var listItem = sourceList.getItemById(classID);


clientContext.load(listItem);
clientContext.executeQueryAsync(Function.createDelegate(this, function () { _returnParam = onSuccess(); }), Function.createDelegate(this, function () { _returnParam = onFail(); }));

return _returnParam;
}
.

非同期実行を使用したくありません。すぐに返される値が必要です。 ListItemがあるので、Return ListItem ["title"]を言うことができないのはなぜですか。??

役に立ちましたか?

解決

ネイティブCSOMは非同期呼び出しのみを可能にします。 それを克服したい場合は、 http://spservices.codeplex.com/ などのフレームワークを使用できます。

他のヒント

リスト項目への参照しかありませんが、実際のリスト項目はExecuteQueryAsyncを実行するまでサーバーから取得されません。

それまでは、実際の情報を持っていますか。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top