首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AspDotNetStore前台xml自定义文件

AspDotNetStore前台xml自定义文件
EN

Stack Overflow用户
提问于 2013-11-08 00:55:41
回答 2查看 498关注 0票数 0

对于它可能涉及的人:

我创建了一个名为affiliateReport.xml.config的xml文件。它的目的是拉出与关联方相匹配的订单,以便关联方可以查看他们的订单。为了测试它,我现在希望在lat_account.aspx文件中列出订单。在这个时候,它将只向我显示AffiliateID的订单值为0。因此,我知道我正在访问数据库,我知道它显示给我数据,但它不会给我显示基于联盟登录的affiliateID的数据。任何帮助都将不胜感激。这些文件来自AspDotNetStoreFront多店。我的密码在下面。

AffiliateReport.xml.config

代码语言:javascript
复制
<?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行我添加了以下代码

代码语言:javascript
复制
<asp:Literal ID="XmlPackage_AffiliateOrders" runat="server" Mode="PassThrough" />

来自lat_account.aspx.cs第168行我添加了以下代码

代码语言:javascript
复制
XmlPackage_AffiliateOrders.Text = AppLogic.RunXmlPackage ("affiliatereport.xml.config", base.GetParser, ThisCustomer, SkinID, String.Empty, String.Format("AffiliateID={0}", AffiliateID), true, true);

提前谢谢你!

EN

回答 2

Stack Overflow用户

发布于 2013-12-26 20:39:15

您是否确定您正在传递附属机构Id的正确值?我猜变量没有正确设置。您应该尝试在设置id的行进行调试。

或者,您可以手动将其设置为另一个有效的附属机构id。

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

票数 0
EN

Stack Overflow用户

发布于 2015-11-05 05:32:54

将其添加到lat_account.aspx的顶部:

代码语言:javascript
复制
<%@ Register Src="~/controls/XmlPackageControl.ascx" TagName="XmlPackage" TagPrefix="adnsf" %>

将其添加到lat_account.aspx中,在其中您希望XmlPackage呈现:

代码语言:javascript
复制
<adnsf:XmlPackage runat="server" PackageName="AffiliateReport.xml.config" ID="AffiliateReportPackage" />

在填充了Page_Load变量的行之后,将其添加到lat_account.aspx.cd的AffiliateID方法中:

代码语言:javascript
复制
AffiliateReportPackage.RuntimeParams = string.Format("LoggedInAffiliateID={0}", AffiliateID);

将xmlpackage sql参数更改为:

代码语言:javascript
复制
<queryparam paramname="@affiliateID" paramtype="runtime" requestparamname="LoggedInAffiliateID" sqlDataType="int" defvalue="0" validationpattern="" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19849733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档