Xmod Pro 4.x で苦労しています。私がする必要があるのは、パラメーターを受信しようとしている xmod テンプレートを使用して、3 つのテキスト フィールドをパラメーターとして 2 番目のページに渡す単純なフォームを作成することだけです。フォームは xmod デザイナーによって自動構築され、テンプレートは明らかにカスタムです。
ページに投稿しようとすると (「検索結果」ページへの POST リダイレクトが行われます)、xmod テンプレートで次のエラーがスローされます。
メッセージ: スカラー変数 "@Part" を宣言する必要があります。
ここに私の ListDataSource スニペットがあります:
<ListDataSource CommandText="SELECT [Id],
[PartNumber]
,[Manufacturer]
,[Condition]
,[Description]
,[Location]
,[Quantity]
,
(CASE WHEN
(SELECT TOP 1 ThumbnailUrl FROM PKT_PartImage pi WHERE pi.PartNumber = p.PartNumber)
IS NULL THEN
'no-photo.png' ELSE
(SELECT TOP 1 ThumbnailUrl FROM PKT_PartImage pi WHERE pi.PartNumber = p.PartNumber)
END) AS ThumbnailUrl
,
(CASE WHEN
(SELECT TOP 1 ThumbnailUrl FROM PKT_PartImage pi WHERE pi.PartNumber = p.PartNumber) IS NULL THEN
'_default' ELSE
[PartNumber] END) AS ThumbnailPath
FROM [PKT_Part] p WHERE [PartNumber] LIKE '%' + @Part + '%' OR [Manufacturer] LIKE '%' + @Mfr + '%'
OR [PartNumber] LIKE '%' + @Key + '%' OR [Manufacturer] LIKE '%' + @Key + '%' OR [Condition] LIKE '%' + @Key + '%'
OR [Description] LIKE '%' + @Key + '%' OR [Location] LIKE '%' + @Key + '%'">
<Parameter Name="Part" Value="[[Url:part]]" />
<Parameter Name="Mfr" Value="[[Url:mfr]]" />
<Parameter Name="Key" Value="[[Url:key]]" />
</ListDataSource>
基本的に、渡されたパラメーターをどう処理するかわからないというエラーが表示されます。私が使用している検索フォームは xmod pro によって自動生成され、結果ページへの「リダイレクト POST」を実行しており、対応する xmod pro モジュールがエラーをスローしている場所です。
ここ (http://pickett.clients.solid-code.com/Home.aspx) にある小さな検索フォームと、エラーをスローする結果ページが表示されます。