0

ご担当者様:

私は、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);

前もって感謝します!

4

2 に答える 2

0

これを lat_account.aspx の先頭に追加します。

<%@ Register Src="~/controls/XmlPackageControl.ascx" TagName="XmlPackage" TagPrefix="adnsf" %>

これを、XmlPackage をレンダリングする lat_account.aspx に追加します。

<adnsf:XmlPackage runat="server" PackageName="AffiliateReport.xml.config" ID="AffiliateReportPackage" />

これを lat_account.aspx.cd の Page_Load メソッドの AffiliateID 変数が入力された行の後に追加します。

AffiliateReportPackage.RuntimeParams = string.Format("LoggedInAffiliateID={0}", AffiliateID);

xmlpackage sql パラメータを次のように変更します。

<queryparam paramname="@affiliateID" paramtype="runtime" requestparamname="LoggedInAffiliateID" sqlDataType="int" defvalue="0" validationpattern="" />
于 2015-11-05T05:32:54.043 に答える
0

アフィリエイト ID に正しい値を渡していますか? 私の推測では、変数が正しく設定されていません。ID を設定している行でデバッグを試みる必要があります。

または、別の有効なアフィリエイト ID に手動で設定することもできます

XmlPackage_AffiliateOrders.Text = AppLogic.RunXmlPackage ("affiliatereport.xml.config", base.GetParser, ThisCustomer, SkinID, String.Empty, String.Format("AffiliateID={0}", 5), true, true);

于 2013-12-26T20:39:15.030 に答える