sha*_*bus 3 newsletter content-management-system subscribe kentico
完成自定义付款表单后,我添加了两个用户角色,一个徽章和两个朋友.所有这些更改都可以正常工作并填充到User对象和相应的数据库表.当我使用下面的代码(从Kentico CMS安装复制和更改)时,我得到IsSubscribed == true,但用户似乎永远不会被订阅.有任何想法吗?
int newsletterId = 3;
Subscriber sb = SubscriberProvider.GetSubscriber("cms.user", currentUser.UserID);
if (sb == null)
{
// Create new subscriber
sb = SaveSubscriber(); // CreateSubscriber(value[0], itemId);
}
// If subscriber exists and is not subscribed, subscribe him
if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId)))
{
try
{
SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, false);
lblTroubledUser.Text = "shoulda been subscribed to newsletter";
}
catch
{
lblTroubledUser.Text = "problem subscribing to newsletter";
}
}
else
lblTroubledUser.Text = (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId)) ? "sb is null" : "already subscribed to newsletter!";
Run Code Online (Sandbox Code Playgroud)
得到它了!构建订阅服务器后,您必须将它们添加到新闻稿中.你必须使用:
SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now);
Run Code Online (Sandbox Code Playgroud)