问题标签 [aspdotnetstorefront]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 集成 AspDotNetStorefront 和 Sitecore
有没有人尝试过集成 AspDotNetStorefront 和 Sitecore?在过去的几天里,我一直在尝试想出一种方法来让这两个系统很好地协同工作,但据我所知,这似乎并不可行。到目前为止我遇到的几个问题:
- 两者之间的身份验证(AspDotNetStorefront 有自己的实现,Sitecore 只是使用/扩展 .NET Membership)
- AspDotNetStorefront 的主 DLL 是当我得到黄屏时在堆栈跟踪中弹出的内容,但是该 DLL 被混淆了,所以我无法弄清楚问题是什么。
最大的问题是我们需要将现有的 AspDotNetStorefront 应用程序保留为电子商务后端,并使用 Sitecore 来完成其他所有工作。AspDotNetStorefront 有一个 CMS 作为它的一部分,但它实际上不是一个可接受的解决方案,除了真正的基本内容页面。
关于我如何解决这个问题的任何想法?
编辑:
我决定将整个事情分解为我目前面临的不同问题,并尽我所知有效地解决每个问题。我将详细介绍我在这里拥有的内容,然后在遇到新内容时进行更新。
问题1:两个系统之间的身份验证。
如果您了解表单身份验证票证,这实际上并不算太糟糕,我当时还没有,但学得很快。只要两个系统共享相同的加密信息,就可以很容易地使用 cookie 在它们之间来回传递信息,如下面接受的答案中所述。另一个问题是我需要将 AspDotNetStorefront Customer 表中的 CustomerGUID 设置为 Sitecore 用户表中的用户 ID(标准 ASP.NET 成员资格)。到目前为止,这种方法似乎运作良好(我目前仍处于概念验证阶段。
如果您需要尝试这样做,要记住的另一件事是 AspDotNetStorefront 带有一个Web 服务,您可以使用它来完成您需要的任何事情。由于他们使用相同的加密密钥,我可以使用此服务在店面端登录,而不仅仅是传递明文密码(我必须自己编写该方法,我不相信它是标准的,如果我我错了,请告诉我)。尽管我怀疑这是一笔大买卖,因为无论如何这一切都发生在服务器端。
问题 2:获取产品数据
这个有点麻烦。前面提到的 Web 服务有一些我很难解决的问题。但是,由于数据库将在同一台服务器上,我只是决定,因为我真正需要的只是价格和 ID,我将继续设置 Storefront 数据库中每个产品的 ProductGUID 列以匹配 Sitecore 项目 ID Sitecore 数据库中的相应项目。这样我只需要一个快速查询来获取仅在少数地方使用的 ProductID 和价格信息。其他所有内容都将存放在 Sitecore 中。
如果有人可以随意添加任何内容,据我从 Google 得知,实际上之前没有人这样做过,所以我很难找到关于这个特定主题的资源。
更新:
事实上,集成是可能的,我们的网站已经运行了一个半星期,几乎没有与集成相关的问题。这不是我建议在个人层面上真正做的事情,但事实上它是可以实现的。
asp.net - 为什么 Sql 不带回结果,除非我设置 varchar 大小?
我有一个 SQL 脚本,它根据传递给它的颜色获取结果,但除非我将定义为 varchar 的变量的大小设置为 (50),否则不会返回任何结果。
如果我使用:like ''+@Colour+'%'
那么它可以工作,但我真的不想使用它,以防它带回我不需要或不想要的结果。
FieldValue 列的类型为 Varchar(Max)(无法更改,因为该字段可以存储不同的内容)。它是 aspdotnetstorefront 包的一部分,因此我无法真正更改表或字段类型。
这不起作用:
但这确实有效:
该代码在以下上下文中使用,但应该以任何一种方式工作
有任何想法吗?
我也无法设置大小<queryparam paramname="@Colour" paramtype="runtime" requestparamname="pCol" sqlDataType="varchar" defvalue="" validationpattern=""/>
c# - 从 IDataReader 读取字段时出现间歇性 System.IndexOutOfRangeException
我在代码中有一个非常奇怪的问题,我不希望它会失败。这是一个基于 AspDotNetStoreFront 的网站,有一些流量,但不是很大。尝试从阅读器读取数据库字段时,站点间歇性崩溃。这发生在网站上的各个地方。此类代码的示例如下所示,对象 pValue = rs["PropertyValueString"];
这是 SqlClient 的标准用法,我看不出有什么问题。错误的堆栈跟踪是这样的:
System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) 在 System.Data.SqlClient.SqlDataReader.GetOrdinal(String name) 在 System.Data.SqlClient.SqlDataReader.get_Item(String name) 在 AspDotNetStorefront.ASPDNSFProfileProvider 的 System.IndexOutOfRangeException。 GetPropertValuePairs(String userName) 在 AspDotNetStorefront.ASPDNSFProfileProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection settingsProperties) 在 System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider) 在 System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName) 在 System.Configuration.SettingsBase.get_Item (String propertyName) 在 System.Web.Profile.ProfileBase.GetInternal(String propertyName) 在 System.Web.Profile.ProfileBase.get_Item(String propertyName) 在 System。Web.Profile.ProfileBase.GetPropertyValue(String propertyName) at AspDotNetStorefront.SkinBase.OnPreInit(EventArgs e) at System.Web.UI.Page.PerformPreInit() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
当站点崩溃时,它需要重新启动 IIS 才能重新启动。它在带有 .NET 3.5 和 SQL 2008 的 Windows Server 2008 上,都是最新的。该机器是 64 位的,SQL Server 启用了 32 位模式以及使用“经典管道模式”的应用程序池。连接字符串是
非常感谢任何帮助!
asp.net - 媒体追逐与 aspdotnetstorefront
我正在启动一个后端集成要求非常高的电子商务项目。我需要一个易于定制且可以在企业级运行的电子商务包。如果您熟悉 Media Chase 和 Aspdotnetstorefront,您能否告诉我您的经历以及您是否倾向于其中一个(或者您是否推荐一个完全不同的平台)。必须是.net。谢谢!
html - 下拉菜单在 IE 中不起作用
我设计了一个菜单。它在 Firefox 和 Chrome 中运行良好,但在 IE 中无法运行。
我在这里提出代码。谁能指导我正确的方向?
html - 如何将xsl转换为html?
我有一个用于 ASPDOTNETSTOREFRONT 的 xml 包。
它为左侧菜单等创建布局。
但是我如何转换 XSLT 以查看它创建的 HTML。
没有输出我快疯了..
javascript - 如果鼠标悬停在 div 上然后显示菜单
我有以下悬停时级联的菜单,但我需要添加一些条件检查,例如鼠标是否悬停在 div 上,然后保持菜单向下滑动。
此外,如果鼠标悬停在 LI 上,则向下检查它们的菜单。
如您所见,一旦您离开“div”,它就会向下滑动并向后滑动。
我卡住了......并且已经尝试了几个小时搜索 if 语句等,我只是无法获得正确的语法。
javascript - 根据选择的下拉列表值隐藏链接
我需要编写一些 jquery 来读取下拉列表中的当前值,然后隐藏页面上的特定链接。
下拉列表是一个语言环境选择器。So when I select "english" I want the link to be hidden but when select French the link has to remain.
你能告诉我怎么做吗?我想学这个。谢谢
asp.net - 为什么 dotTrace 分析器会导致我的 AspDotNetStorefront 网站引发服务器错误?
我们公司有一个基于 AspDotNetStorefront 的 ASP.NET 电子商务网站,该网站已经投入生产大约六个月。我们正在尝试在我的开发机器上使用 dotTrace 对其进行分析。dotTrace 导致 .NET 在加载默认页面时引发错误。错误是:
“/”应用程序中的服务器错误。
无法加载文件或程序集“AspDotNetStorefrontCore,Version=9.0.1.3,Culture=neutral,PublicKeyToken=null”或其依赖项之一。需要强命名程序集。(来自 HRESULT 的异常:0x80131044)
我采取了两种方法来尝试修复错误,但都没有奏效:
1)我重建了网站,用强名称签署了每个 Storefront dll。
2) 我使用 sn 实用程序注册 dll,因此 CLR 将跳过强名称验证。
我还尝试使用 Fusion Assembly Binding Log Viewer 来寻找线索。日志中没有任何明显内容。
此外,我让 dotTrace 将应用程序作为 WebDev 应用程序和 IIS 应用程序运行。无论哪种方式,我都会得到相同的结果。
任何想法将不胜感激!
javascript - 使用jquery有条件地改变数量文本框?
我有一个问题,我一直在研究一些 jquery 来将数量文本框设置为显示 25 或更多。它检查措辞个性化是否有一个空字符串,如果它没有应用 25 数量作为其明显的套件产品和个性化。
套件产品的关键部分是:
它知道它是一个套件产品,因为我在名为 Kit Product 的页面周围有一个 div.id。
我的问题是我需要为某些产品覆盖此套件产品代码。我认为快速解决此问题的最佳方法是检查 div 的内容,例如:
如果找到独家手工盒,则允许用户在文本框中输入 1 或更多的数量。
我尝试了以下代码:
但这只会迫使 1. 我现在真的迷路了,我已经尽我所能解释了,下面是 jsfiddle 中页面的缩减示例。
真的希望你能帮忙吗?
更多信息:
在大多数情况下,套件产品是在一个 xml 包中定义的,该包应用于管理部分中的套件产品。然而,我有一些产品仍然是产品,但不需要 25 加入数量。
目前 jquery 检查文本区域框,因为如果用户在其中添加个性化设置,则意味着他们想要套件产品,因此最小数量为 25。
但是我有一个产品我想根据它的 div 内容进行检查,我想拥有 1 个或更多...
所以我应该能够在框中输入 1-25,而我当前的代码不会说 oppps 你输入的数字小于 24,所以我要把它改回最小套件产品数量。
如果您尝试使用 jsfiddle,您会发现它不会让您输入 3 的值?那就是问题所在。