Я создал тестовый объект для класса UserInfo
с именем testUser
.Когда я использую это, все работает нормально, и объект находится в списке объектов.Когда я присваиваю значения textbox.text свойствам объекта и нажимаю кнопку отправки, объект не создается и вообще не отображается в списке (либо это, либо значения текстового поля не присваиваются свойствам.Я в полной растерянности относительно того, почему это происходит.Я попытался возиться с ViewState
и переменными сеанса, но я в полном недоумении.Кажется, это не проблема государства.Вот мой код:
namespace WebApplication1
{
public partial class CreateAccount : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<UserInfo> allUsersList = Application["AllUsersList"] as List<UserInfo>;
UserInfo testUser = new UserInfo();
testUser.FirstName = "Bob";
testUser.MiddleInitials = "B";
testUser.LastName = "Bob";
testUser.EmailAddress1 = "Bob@gmail.com";
testUser.EmailAddress2 = null;
testUser.StreetAddress = "123 Bob Lane";
testUser.AptNo = null;
testUser.City = "BobTown";
testUser.State = "TX";
testUser.Zip = "77550";
testUser.HomePhone = "5555555555";
testUser.JobExperience = "None";
testUser.Password = "bob1000";
allUsersList.Add(testUser);
}
protected void SaveButton_Click(object sender, EventArgs e)
{
List<UserInfo> allUsersList = Application["AllUsersList"] as List<UserInfo>;
UserInfo newUser = new UserInfo();
newUser.FirstName = firstName.Text;
newUser.MiddleInitials = middleInitials.Text;
newUser.LastName = lastName.Text;
newUser.EmailAddress1 = emailAddress1.Text;
newUser.EmailAddress2 = emailAddress2.Text;
newUser.StreetAddress = streetAddress.Text;
newUser.AptNo = aptno.Text;
newUser.City = city.Text;
newUser.State = state.Text;
newUser.Zip = zip.Text;
newUser.HomePhone = phone.Text;
newUser.JobExperience = jobExperience.Text;
newUser.Password = password.Text;
}
protected void CheckAccount_Click(object sender, EventArgs e)
{
List<UserInfo> allUsersList = Application["AllUsersList"] as List<UserInfo>;
UserInfo testUser = new UserInfo();
foreach (UserInfo item in allUsersList)
{
if (item.FirstName == "Bob")
{
emailTextBox.Text = "Bob was found.";
//Note that this works and and it finds the testUser
//value
}
}
}
}
}
Вот дизайн класса для объекта:
namespace WebApplication1.App_Code
{
public class UserInfo
{
String firstName;
String middleInitials;
String lastName;
String emailAddress1;
String emailAddress2;
String streetAddress;
String aptNo;
String city;
String state;
String zip;
String homePhone;
String jobExperience;
String password;
public String FirstName
{
get { return firstName; }
set { firstName = value; }
}
public String MiddleInitials
{
get { return middleInitials; }
set { middleInitials = value; }
}
public String LastName
{
get { return lastName; }
set { lastName = value; }
}
public string EmailAddress1
{
get { return emailAddress1; }
set { emailAddress1 = value; }
}
public string EmailAddress2
{
get { return emailAddress2; }
set { emailAddress2 = value; }
}
public string StreetAddress
{
get { return streetAddress; }
set { streetAddress = value; }
}
public string AptNo
{
get { return aptNo; }
set { aptNo = value; }
}
public string City
{
get { return city; }
set { city = value; }
}
public string State
{
get { return state; }
set { state = value; }
}
public string Zip
{
get { return zip; }
set { zip = value; }
}
public string HomePhone
{
get { return homePhone; }
set { homePhone = value; }
}
public string JobExperience
{
get { return jobExperience; }
set { jobExperience = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
}
}
Я новичок в asp.net, и это заставляет меня чувствовать себя глупо.Любая помощь приветствуется!
Обновление: этот объект не создается и не присваивается списку:
protected void SaveButton_Click(object sender, EventArgs e)
{
List<UserInfo> allUsersList = Application["AllUsersList"] as List<UserInfo>;
UserInfo newUser = new UserInfo();
newUser.FirstName += firstName.Text;
newUser.MiddleInitials = middleInitials.Text;
newUser.LastName = lastName.Text;
newUser.EmailAddress1 = emailAddress1.Text;
newUser.EmailAddress2 = emailAddress2.Text;
newUser.StreetAddress = streetAddress.Text;
newUser.AptNo = aptno.Text;
newUser.City = city.Text;
newUser.State = state.Text;
newUser.Zip = zip.Text;
newUser.HomePhone = phone.Text;
newUser.JobExperience = jobExperience.Text;
newUser.Password = password.Text;
allUsersList.Add(newUser);
Application["AllUsersList"] = allUsersList;
}
Почему значения текстового поля не присваиваются свойствам объекта?Почему этот объект не создается и не добавляется в список?Я запустил тесты, и основной список всегда пуст, и в нем ничего нет.