我正在开发一个项目,我有一个创建用户的任务(使用CreateUserWizard控件)。我必须将用户保存在SQL Server数据库的特定表中。
同时创建一个登录(使用Login控件),并在登录后进行身份验证,它应该保存配置文件信息。
到目前为止,我已经创建了继承ProfileBase的CustomProfile。还创建了3个aspx页面。
我的CustomProfile如下所示:
public class UserProfile : ProfileBase
{
static public UserProfile CurrentUser
{
get
{
return (UserProfile)(ProfileBase.Create(Membership.GetUser().UserName));
}
}
public string FirstName
{
get { return (string)base["FirstName"]; }
set { base["FirstName"] = value; Save(); }
}
public string LastName
{
get { return (string)base["LastName"]; }
set { base["LastName"] = value; Save(); }
}
public DateTime DateOfBirth
{
get { return (DateTime)base["DateOfBirth"]; }
set { base["DateOfBirth"] = value; Save(); }
}
public ContactInfo Contact
{
get { return (ContactInfo)base["Contact"]; }
set { base["Contact"] = value; Save(); }
}
}
我使用了aspnet_regsql.exe
,它在sql server中创建了多个表,并将数据存储在这些表中,并且工作正常。我想将信息保存到我的表中,例如。 tblUserInfo
。我该怎么办?我检查了多个论坛,但没有运气。
非常感谢任何帮助。
答案 0 :(得分:1)
首先,aspnet_regsql.exe已过时。您可能需要考虑使用ASP.Net Universal Providers。
我认为您的问题是 将信息保存到我的表格中,例如。 tblUserInfo 强>
您可以收集用户信息并自行保存,而不是使用CreateUserWizard。
1. Creating a tblUserInfo table (alternative solution to ASP.Net Profile)
2. Inserting UserInfo into tblUserInfo after creating a user
<asp:TextBox ID="UsernameTextBox" runat="Server" />
<asp:TextBox ID="EmailTextBox" runat="Server" />
<asp:TextBox ID="PasswordTextBox" runat="Server" />
<asp:TextBox ID="PasswordQuestionTextBox" runat="Server" />
<asp:TextBox ID="PasswordAnswerTextBox" runat="Server" />
<asp:TextBox ID="FirstNameTextBox" runat="Server" />
<asp:TextBox ID="LastNameTextBox" runat="Server" />
string username = UsernameTextBox;
string password = PasswordTextBox.text;
string email = EmailTextBox.text;
string passwordQuestion = PasswordQuestionTextBox.text;
string passwordAnswer = PasswordAnswerTextBox.text;
bool isApproved = true;
MembershipCreateStatus status;
MembershipUser membershipUser = System.Web.Security.Membership.CreateUser(
username, password, email, passwordQuestion, passwordAnswer, isApproved, out status);
if (status != MembershipCreateStatus.Success)
throw new Exception(status.ToString());
// Save the rest of the user info to tblUserInfo with userId
Guid userId = (Guid)membershipUser.ProviderUserKey;