为什么以下代码会产生错误“对象引用未设置为对象的实例,即使我在两个按钮单击事件中都使用设置会话方法?
public partial class MergePopUp : System.Web.UI.Page
{
List<MergeAccounts> Mlist = new List<MergeAccounts>();
protected void Page_Load(object sender, EventArgs e)
{
}
private void SetSession()
{
if (Session["Account"] == null)
{
Session["Account"] = Mlist;
}
}
protected void AddToMergeList_Click(object sender, EventArgs e)
{
MergeAccounts obj = new MergeAccounts();
obj.AccountNumber = Convert.ToInt32(AccountNumber.Text);
obj.PinNumber = Convert.ToInt32(PinNumber.Text);
int temp = obj.IsAccNoValid(obj.AccountNumber, obj.PinNumber);
if (temp == 0)
{
FoundOrNot.Visible = true;
FoundOrNot.Text = "Enter a valid Pin Number against this Account number";
}
else
{
DataSet MyDataSet = obj.ShowDetails(obj.AccountNumber, obj.PinNumber);
foreach (DataRow myRow in MyDataSet.Tables[0].Rows)
{
AccountTitle.Text = myRow["Title"].ToString();
Balance.Text = myRow["Balance"].ToString();
CreationDate.Text = myRow["CreationDate"].ToString();
}
obj.AccountTitle = AccountTitle.Text;
obj.Balance = Convert.ToDouble(Balance.Text);
obj.CreationDate = Convert.ToDateTime(CreationDate.Text);
Mlist.Add(obj);
Session["Account"] = Mlist;
SetSession();
}
}
protected void AddNext_Click(object sender, EventArgs e)
{
foreach (TextBox i in this.Page.Form.Controls.OfType<TextBox>().ToList())
{
i.Text = null;
}
FoundOrNot.Visible = false;
}
protected void CheckList_Click(object sender, EventArgs e)
{
SetSession();
Response.Redirect("Merge.spx");
}
}