C# 使用简单的文本框更新用户配置文件信息
所以我建立了一个登录系统,现在我不想让用户更新他们的信息。我原以为这段代码会起作用,但事实并非如此,现在是:C# 使用简单的文本框更新用户配置文件信息,c#,asp.net,textbox,profile,C#,Asp.net,Textbox,Profile,所以我建立了一个登录系统,现在我不想让用户更新他们的信息。我原以为这段代码会起作用,但事实并非如此,现在是: public partial class Account_Update : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { MembershipUser usr = Membership.GetUser(); if (usr.IsApproved == f
public partial class Account_Update : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MembershipUser usr = Membership.GetUser();
if (usr.IsApproved == false)
{
Response.Redirect("~/Login.aspx");
}
var p = Profile.GetProfile(usr.UserName);
/* Displays all current profile information once the page loads */
FirstName.Text = p.fName;
LastName.Text = p.lName;
Address.Text = p.Address;
Email.Text = usr.Email;
Company.Text = p.Company;
}
/* Simple button to take you to the home screen */
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("~/default.aspx");
}
protected void UpdateButton_Click(object sender, EventArgs e)
{
MembershipUser usr = Membership.GetUser();
var p = Profile.GetProfile(usr.UserName);
/* Update all information that the user has changed */
p.fName = FirstName.Text;
p.Save();
p.lName = LastName.Text;
p.Save();
p.Address = Address.Text;
p.Save();
usr.Email = Email.Text;
Membership.UpdateUser(usr);
p.Company = Company.Text;
p.Save();
Success.Text = "User Information has been updated";
/* Redisplaying the updated user information */
FirstName.Text = p.fName;
LastName.Text = p.lName;
Address.Text = p.Address;
Email.Text = usr.Email;
Company.Text = p.Company;
}
}
问题似乎是,无论我在文本框中更改文本的内容是什么,都不会改变文本框中原来的内容。因此,如果最初用户的名字是Bob,当我点击更新按钮时,我将其更改为Robert,则不会将其更改为Robert。这似乎是一个简单的解决办法,但我有点迷路了。因此,总结一下,主要问题是如何将用户信息更新为用户在文本框中输入的新文本。put
!在页面加载时,Ispostback
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
MembershipUser usr = Membership.GetUser();
if (usr.IsApproved == false)
{
Response.Redirect("~/Login.aspx");
}
var p = Profile.GetProfile(usr.UserName);
/* Displays all current profile information once the page loads */
FirstName.Text = p.fName;
LastName.Text = p.lName;
Address.Text = p.Address;
Email.Text = usr.Email;
Company.Text = p.Company;
}
}
如果您不使用它,那么当信息进入服务器时,您将获得olds值
干杯。啊,新的,我错过了一些简单的东西!非常感谢你!您在文本框中使用什么类?我看了一下,但找不到与文本框相当的Web.UI。还有,p是什么级别的?(编译器可能能够推断出它,但这个人不能lol)