ソース Microsoft サポート
迅速な公開
迅速な公開の記事では、MICROSOFT サポート組織内から直接情報を提供しています。 ここに記載されている情報は、新しいトピックまたは固有のトピックに対応して作成されたものである場合や、その他のサポート技術情報を補足しています。
現象
次のシナリオについて考えてみましょう。データフォーム Web パーツを使用して情報を表示するカスタムページが用意されています。 メイン情報は、SharePoint のユーザー設定リストと SharePoint のカスタムドキュメントライブラリに格納されます。 すべてのデータとページが同じサブサイトに存在します。クエリ文字列は、次のように定義されます。
-
[詳細] ページで、次の操作を行います。
-
詳細ページに .aspx? ID = xx が表示されます。
-
-
データソースの一覧で、次の操作を行います。
-
<ParameterBinding Name="CustomItem" Location="QueryString(ID)" DefaultValue="1"/>
-
-
Xslt:
-
<xsl:param name="CustomItem">1</xsl:param> <xsl:variable name="Rows" select="/dsQueryResponse/Custom_Listings/Rows/Row[@ID = $CustomItem]" />
-
このシナリオでは、次のエラーメッセージが表示されます: w3wp (0x1104) 0x1670 CMS Publishing 8vzhUnexpected PortalSiteMapProvider は、現在のノードを取得できませんでした。要求 URL:/example/path/here、custom/pages/opportunitydetails、http://SERVER/example/path/here/custom/pages/opportunitydetails.aspx?ID=20 には項目が存在しません。 他のユーザーによって削除されたか、名前が変更された可能性があります。、スタックトレース: get_ListItem SPContext () get_Item SPContext () () () () を get_CurrentNode ()
原因
クエリパラメーター名を ID として .aspx ページ (ドキュメントライブラリ内のレコード) に渡した場合、Sharepoint では、どのような ID が使用されるかが追跡されなくなります。 Sharepoint では、ID がドキュメントライブラリ内のドキュメントであるか、またはこの .aspx ページを使用して更新する必要がある listItem の ID であるかを認識していません。 この問題が発生するのは、Sharepoint に ID という名前の独自の変数があります。これによって、サーバー上のドキュメント/ページを識別するために使用されます。 今回のソリューションでは、ID という名前の変数を使用しないようにします。
解決方法
クエリ文字列パラメーターを ID から CustomID に変更します。 次に、[詳細] ページを QueryString (ID) から QueryString (CustomID) に変更します。 この操作を完了すると、ページにエラーは表示されません。
DISCLAIMER
MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE "MATERIALS") FOR ANY PURPOSE. 資料には、技術的な誤りや誤植の間違いが含まれている可能性があり、予告なしに随時変更される可能性があります。適用法によって許可されている範囲の上限に達した場合、MICROSOFT またはその外注業者は、本マテリアルに関する表明、保証、条件、お客様の品質、商品性、適合性など、すべての表明、保証、条件を含め、すべての表明、保証、および条件を除外します。