敬启者:
我创建了一个名为affiliateReport.xml.config 的xml 文件。其目的是提取与附属公司匹配的订单,以便附属公司可以查看他们的订单。为了测试它,我现在希望将订单列在 lat_account.aspx 文件中。不幸的是,此时它只会向我显示 AffiliateID 等于 0 的订单。因此,我知道我正在访问数据库,并且我知道它向我显示了数据,但它不会显示基于会员 ID 的数据会员登录。任何帮助将不胜感激。这些文件来自 AspDotNetStoreFront Multistore。我的代码如下。
AffiliateReport.xml.config
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<package version="2.1" displayname="Affiliate Report" debug="false" includeentityhelper="true" allowengine="true">
<query name="AffiliateReport" rowElementName="AffiliateOrders">
<sql>
<![CDATA[
SELECT * from Orders with (NOLOCK)
LEFT JOIN Affiliate on Affiliate.AffiliateID = Orders.AffiliateID
WHERE Orders.AffiliateID = @affiliateID
]]>
</sql>
<queryparam paramname="@affiliateID" paramtype="runtime" requestparamname="AffiliateID" sqlDataType="int" defvalue="0" validationpattern="^\d{1,10}$" />
</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:param name="LocaleSetting" select="/root/Runtime/LocaleSetting" />
<xsl:param name="WebConfigLocaleSetting" select="/root/Runtime/WebConfigLocaleSetting" />
<xsl:param name="XmlPackageName" select="/root/System/XmlPackageName" />
<xsl:param name="AffiliateID" select="/root/Runtime/WebConfigLocaleSetting" />
<xsl:template match="/">
<table width="90%">
<tr>
<td>Order Number</td>
<td width="10px"> </td>
<td>Affiliate ID</td>
<td width="10px"> </td>
<td>Total</td>
</tr>
<xsl:for-each select="/root/AffiliateReport/AffiliateOrders">
<tr>
<td><xsl:value-of select="OrderNumber" /></td>
<td> </td>
<td><xsl:value-of select="AffiliateID" /></td>
<td> </td>
<td>$<xsl:value-of select="OrderTotal" /></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
</PackageTransform>
</package>
从 lat_account.aspx 第 313 行我添加了以下代码
<asp:Literal ID="XmlPackage_AffiliateOrders" runat="server" Mode="PassThrough" />
从 lat_account.aspx.cs 第 168 行我添加了以下代码
XmlPackage_AffiliateOrders.Text = AppLogic.RunXmlPackage ("affiliatereport.xml.config", base.GetParser, ThisCustomer, SkinID, String.Empty, String.Format("AffiliateID={0}", AffiliateID), true, true);
先感谢您!