我已经浏览了我的代码,看看是否存在空值,但是每个人都带来了价值,但我找不到问题。错误对象引用未设置为对象的实例?
public partial class UserDetail : ICSBaseUserControl
{
UserRepository userDao = new UserRepository();
User user;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
long userID = Convert.ToInt64(Request[UrlParameters.UrlParameterName.UserID]);
user = (userID > 0) ? userDao.GetUser(AppSession.Company.ID, userID) : new c365_EntityFramework.User();
if (user.ID > 0)
{
txtFirstName.Text = user.Forename;
txtSurname.Text = user.Surname;
txtAddress.Text = user.Address1;
txtEmail.Text = user.Email;
txtUsername.Text = user.Username;
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
bool result = userDao.UpdateUser(user.ID, txtFirstName.Text, txtEmail.Text, txtSurname.Text, txtAddress.Text, txtUsername.Text);
}
}
编辑
这是我的固定它,通过移动user
装载了if(!IsPostBack)
的:
public partial class UserDetail : ICSBaseUserControl
{
UserRepository userDao = new UserRepository();
User user;
protected void Page_Load(object sender, EventArgs e)
{
long userID = Convert.ToInt64(Request[UrlParameters.UrlParameterName.UserID]);
user = (userID > 0) ? userDao.GetUser(AppSession.Company.ID, userID) : new c365_EntityFramework.User();
if (!IsPostBack)
{
if (user.ID > 0) // Check for user ID
{
txtFirstName.Text = user.Forename;
txtSurname.Text = user.Surname;
txtAddress.Text = user.Address1;
txtEmail.Text = user.Email;
txtUsername.Text = user.Username;
}
}
}
哪一行是错误? – Paddyd
你在哪里得到这个错误? –
bool result = userDao.UpdateUser(user.ID,txtFirstName.Text,txtEmail.Text,txtSurname.Text,txtAddress.Text,txtUsername.Text); – user2520671