2010-02-11 4 views
0

Я ищу способ создать свою собственную страницу регистрации пользователей в DotNetNuke. Я не хочу заменять стандартный, я просто хочу поставить dnn-регистрацию в модуле, который я создаю. Любое понимание того, как это сделать, было бы здорово, я бы хотел использовать текущий поставщик членства, включенный в DotNetNuke.Как создать страницу регистрации пользователя в DotNetNuke 4.9.2

ответ

2

Все, что вам нужно знать здесь, надеюсь, что это помогает кто-то еще:

http://www.engagesoftware.com/Blog/EntryId/75/Membership-Provider-Video-Part-I.aspx

OK Я хочу поделиться своим кодом со всеми, так как это была боль, чтобы выяснить, но это даст идея, что делать:

using DotNetNuke; 
using DotNetNuke.Common; 
using DotNetNuke.Common.Utilities; 
using DotNetNuke.Entities.Users; 
using DotNetNuke.Entities.Modules; 
using DotNetNuke.Entities.Modules.Actions; 
using DotNetNuke.Security; 
using DotNetNuke.Services.Exceptions; 
using DotNetNuke.Services.Localization; 
using DotNetNuke.Security.Membership; 




namespace DotNetNuke.Modules.Promotions 
{ 
    /// ----------------------------------------------------------------------------- 
    /// <summary> 
    /// The ViewPromotions class displays the content 
    /// </summary> 
    /// <remarks> 
    /// </remarks> 
    /// <history> 
    /// </history> 
    /// ----------------------------------------------------------------------------- 
    partial class View : PortalModuleBase, IActionable 
    { 
public void btnRegister_Click(object sender, EventArgs e) 
     { 
      try 
      { 

       UserCreateStatus userstatus = UserCreateStatus.AddUser; 
       UserInfo NewUser = new UserInfo(); 

       NewUser.FirstName = txtFirstname.Text; 
       NewUser.LastName = txtLastName.Text; 
       NewUser.Username = txtUserName.Text; 
       NewUser.DisplayName = txtUserName.Text; 
       NewUser.Profile.City = txtCity.Text; 
       NewUser.Profile.Country = "United States"; 
       NewUser.Email = txtEmail.Text; 
       NewUser.Username = txtUserName.Text; 
       NewUser.Membership.Password = txtPassword.Text; 
       if (PortalSettings.UserRegistration != Convert.ToInt32(DotNetNuke.Common.Globals.PortalRegistrationType.PublicRegistration)) 
       { 
        NewUser.Membership.Approved = true; 
       } 
       { 
        NewUser.Membership.Approved = false; 
       } 

       UserCreateStatus userstatsus = UserController.CreateUser(ref NewUser); 
      } 
      catch (Exception ex) 
      { 
       Console.Write(ex); 
      } 
     } 
+0

Ваша ссылка говорит: «У вас нет разрешения на просмотр запрошенного файла» –

+0

извините, все исправлено. –

+0

Это не может быть точный ответ, но он говорит мне, где мне нужно, и дал мне хороший обзор поставщика. Что я буду использовать, используется поставщик членства dnn и создайте мою собственную страницу, ссылаясь на это. Таким образом, я могу разрезать регистрацию в любом месте, и мне не нужно переписывать провайдера. –

0

Ваш недостающий NewUser.PortalId. Это может быть установлено в NewUser.PortalId = PortalId;

+0

Я использую только один портал в каждом развертывании. Dnn достаточно медленный, но я бы предположил, что вам понадобится это в многостраничной среде. –

Смежные вопросы