問題タブ [display-templates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sharepoint-2013 - コンテンツ検索 Web パーツのコンテンツ タイプの説明値
管理プロパティ (ContentType) を使用するコンテンツ検索 Web パーツで、リスト アイテムのコンテンツ タイプ「タイトル」を取得できます。
しかし、私の問題は、タイトルではなくコンテンツタイプ「説明」を取得する必要があることです。コンテンツ タイプの説明の管理プロパティを検索しましたが、何も見つかりません。
残りの API を使用して、アイテム (~100) のコンテンツ タイプ タイトルを使用してコンテンツの説明を取得しましたが、この問題により、ページの読み込みに時間がかかります。
誰かが表示テンプレートでコンテンツ タイプの説明を取得する方法を知っていて、ページの読み込みに時間がかからないように教えてください。
前もって感謝します。
ミラン・ジャイナ
asp.net-mvc - クラスの DisplayTemplate のデフォルト出力
InlineImage など、ビュー モデルに特定の構造化型を提供するクラス ライブラリを構築しています。
@Html.DisplayFor(...) で使用する場合、基本的にそのようなインスタンスのデフォルトの HTML 出力を定義できる必要があります...
- /Views/DisplayTemplates/InlineImage.cshtml が利用可能な場合は、そのテンプレートを使用します
- 利用できない場合は、デフォルトを出力する必要があります
でも ...
- そのクラスの ToString() だけをオーバーライドすると、正しい出力が得られますが、HTML エンコードされます。
[DisplayFormat(HtmlEncode = false)] を CLASS に追加することでエンコーディングを無効にできる MVC ソース コードを分析したところ、
しかし...属性はクラスを対象としないため、クラスに追加する別の属性にラップしてハックします。厄介ですが、少なくとも機能します:)
私のコードは現在次のようになっています。
デフォルトのディスプレイでは機能しますが、ファイル システムでディスプレイ テンプレートが提供されている場合は使用されません。おそらく、そのデータ注釈のために、途中で何かがそれを切り取ったためです。
私はすでにこれに似た他のいくつかのアプローチを試しました:
- Html データ注釈で最初のプロパティを使用する
- Html データ注釈で表示プロパティを使用する
- IHtmlString の実装
ただし、フレームワークは、この場合、クラス自体のメタデータのみをチェックし、そのプロパティについてはチェックしないようです。IHtmlString は完全に無視されます。
クラスライブラリから特定のクラスのデフォルトの表示テンプレートを提供する方法のヒントを探しています。これは、標準の表示テンプレートをビューフォルダーに配置するだけでオーバーライドできます。