Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用营销人员的webforms更新sitecore用户(更新联系人详细信息)_C#_Forms_Sitecore_Web Forms For Marketers - Fatal编程技术网

C# 如何使用营销人员的webforms更新sitecore用户(更新联系人详细信息)

C# 如何使用营销人员的webforms更新sitecore用户(更新联系人详细信息),c#,forms,sitecore,web-forms-for-marketers,C#,Forms,Sitecore,Web Forms For Marketers,我正在一个Sitecore 8更新2站点上工作。 我使用网络表单为营销人员创建登录和注册页面。这些设备工作良好,易于使用。在注册表单上,我能够将表单上的字段与所选用户配置文件上的字段链接起来,非常简单 现在我想要一个页面,用户可以编辑他们的联系方式。 然而,当我想链接表单的字段时,我只能将它们链接到facet。我已经用我的个人资料填写了表单的“用户个人资料”字段。所以我想像注册表单一样链接这些字段 有什么方法可以做到这一点吗?如果你想更新联系人数据,你必须使用更新联系人详细信息保存操作来更新fa

我正在一个Sitecore 8更新2站点上工作。 我使用网络表单为营销人员创建登录和注册页面。这些设备工作良好,易于使用。在注册表单上,我能够将表单上的字段与所选用户配置文件上的字段链接起来,非常简单

现在我想要一个页面,用户可以编辑他们的联系方式。 然而,当我想链接表单的字段时,我只能将它们链接到facet。我已经用我的个人资料填写了表单的“用户个人资料”字段。所以我想像注册表单一样链接这些字段


有什么方法可以做到这一点吗?

如果你想更新联系人数据,你必须使用更新联系人详细信息保存操作来更新facet-这就是xDB的工作方式,而exerything就是facet。xDB中的每一位信息都需要通过一个方面进行更新 e、 g.个人信息方面

 var personalInfo = Tracker.Current.Contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactPerso‌​nalInfo>("Personal"); 
 personalInfo.FirstName =firstname; 
 personalInfo.Surname = surname;
var personalInfo=Tracker.Current.Contact.GetFacet(“个人”);
personalInfo.FirstName=FirstName;
personalInfo.姓氏=姓氏;
要注册自定义方面,这里有一个很好的帖子:


基本上,您需要的是在表单上使用开箱即用的“更新联系人详细信息”“保存操作”,这将允许您将表单字段绑定到联系人的面

我最近在博客上写了一个解决方案!
查看此帖子以了解更多详细信息:

请参阅下面的图片,了解如何配置此功能。 创建用户保存操作需要配置为更新用户帐户和配置文件。注意密码字段。你不能这样改变。要更改密码,还有另一个操作

更新联系人详细信息保存操作将更新XDB联系人


如果要更新联系人数据,必须更新Facets,这就是xDB的工作方式。每一位信息都需要通过一个方面进行更新。例如
var personalInfo=Tracker.Current.Contact.GetFacet(“个人”);personalInfo.FirstName=FirstName;personalInfo.姓氏=姓氏
@goldengrahams那么我是否必须为我添加到配置文件中的所有自定义字段添加facet?是的,如果想要在XDB中添加自定义数据,您必须在配置中注册facet,然后WFFM应该将其选中。我向联系人添加了facet,现在可以在使用“更新联系人详细信息”选项时选择它。但是,当我在用户管理器中的选项卡配置文件下检查该值时,该值没有更改。我是否错过了facet和profile字段之间的链接?或者,若facet和profile字段具有相同的名称,它应该自动连接吗?在核心数据库和xDB中的ASP.NET membership aspnet_profile表的用户管理器运行中,用户的profile是完全不同的-数据在MongoDB中。所以你必须把两者联系起来。我将使用用户的asp net成员身份guid作为标识符-您可以在MongoDB中使用它来标识用户。尚未检查,但WFFM可能会自动执行此操作。我没有使用MongoDB的经验。所以我在想象我将要做的事情时遇到了一些问题。我是否下载类似Robomongo的东西并使用该应用程序来更改字段?或者我也不这么做:)这很容易获取——都是json数据。下载Robomongo并连接到本地Mongo DB实例。当您使用RoboMongo连接时,请查看xxx_分析数据库-在这里您将有一个联系人集合。右键单击集合并选择“查看文档”。你可以在这里看到你的联系人。你不需要改变任何事情,只要看看幕后发生了什么就好了。希望这能有所帮助-