ASPDotNetStorefront: не получается никаких результатов с пользовательским запросом
Я не могу понять, почему я не получаю результатов с этим кодом:
<Query Name="getClubPoints" RowName="Points">
<SQL>
<![CDATA[
SELECT FirstName, LastName, ClubPoints
FROM Customer
WHERE CustomerID = '78520'
]]>
</SQL>
</Query>
<PackageTransform>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aspdnsf="urn:aspdnsf" exclude-result-prefixes="aspdnsf">
<xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:if test="/root/System/CustomerIsRegistered='true'">
<!--Customer is registered-->
[<xsl:value-of select="/root/System/CustomerID" />] <xsl:value-of select="concat('Welcome, ',/root/System/CustomerFirstName)"/>!<br />
You have [<xsl:value-of select="ClubPoints" />] Club Points
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</PackageTransform>
Этот пользователь (я) имеет 284 Клубных очков. Кроме того, как только я получу эту работу, как я могу заменить 78520 на переменную, чтобы получить идентификатор текущего пользователя, вошедшего в систему?
1 ответ
Это проверит параметры времени выполнения и заменит заполнитель "@customer" в запросе SQL на идентификатор текущего клиента. Смотрите также: http://manual.aspdotnetstorefront.com/p-157-xml-packages.aspx
<Query Name="getClubPoints" RowName="Points">
<SQL>
<![CDATA[
SELECT FirstName, LastName, ClubPoints
FROM Customer
WHERE CustomerID = @customer
]]>
</SQL>
<queryparam paramname="@customer" paramtype="runtime" requestparamname="CustomerID" sqlDataType="int" defvalue="0" validationpattern="" />
</Query>