使用Session抛出异常传递变量
本文关键字:变量 抛出异常 Session 使用 | 更新日期: 2023-09-27 18:08:19
我有一个表格需要客户填写,所以我决定把它做成一个数字表格。我有三个页面subscriber_details, Package_Selection和Bank_Details。当用户在第一个页面中填写了所有字段,然后点击下一个页面,页面就会进入下一个页面,直到所有三个字段都填好,当所有三个字段都填好后,他们会跳转到最后一个页面,在那里他们的所有详细信息都会最后一次呈现给他们,这样他们就可以确保它是正确的……在我的订阅详情。我有下面的代码来存储他们的详细信息到会话
protected void btnNext_Click(object sender, EventArgs e)
{
Session["FullName"] = txtFullName.Text;
if (txtCompanyName.Text == String.Empty)
Session["CompanyName"] = "N/A";
else
Session["CompanyName"] = txtCompanyName.Text;
if (txtVAT.Text == String.Empty)
Session["VAT"] = "N/A";
else
Session["VAT"] = txtVAT.Text;
Session["ContactNumber"] = txtContactNumber.Text;
if (txtFax.Text == String.Empty)
Session["Fax"] = "N/A";
else
Session["Fax"] = txtFax.Text;
if (txtDistrict.Text == String.Empty)
Session["District"] = "N/A";
else
Session["District"] = txtDistrict.Text;
Session["City"] = txtCity.Text;
Session["Street"] = txtStreet.Text;
Session["Code"] = txtPostal.Text;
if (txtTrading.Text == String.Empty)
Session["Trading"] = "N/A";
else
Session["Trading"] = txtTrading.Text;
Session["ID"] = txtID.Text;
Session["ContactPerson"] = txtContactPerson.Text;
if (txtEmail.Text == String.Empty)
Session["Email"] = "N/A";
else
Session["Email"] = txtEmail.Text;
}
然后在我的期末考试。我有以下代码来使用会话并替换标签
中的文本protected void Page_Load(object sender, EventArgs e)
{
lblFullName.Text = Session["FullName"].ToString();
lblCompanyName.Text = Session["CompanyName"].ToString();
lblVat.Text = Session["VAT"].ToString();
lblContactNumber.Text = Session["ContactNumber"].ToString();
lblFax.Text = Session["Fax"].ToString();
lblDistrict.Text = Session["District"].ToString();
lblStreet.Text = Session["Street"].ToString();
lblCity.Text = Session["City"].ToString();
lblCode.Text = Session["Code"].ToString();
lblTrading.Text = Session["Trading"].ToString();
lblID.Text = Session["ID"].ToString();
lblContactPerson.Text = Session["ContactPerson"].ToString();
lblMail.Text = Session["Email"].ToString();
}
由于某种原因,我得到一个"对象引用错误",这是因为我的最终。aspx页不是我的下一页,因为我必须通过我的包。Aspx和bank_details。aspx第一?
我已经在会话上要求字段验证器,没有一个if语句,所以文本不会是空的
您没有设置所有的Session变量。例如,您没有设置Session["Email"]
,因此对lblMail.Text = Session["Email"].ToString();
的调用将抛出异常。
你应该填充所有的会话变量,你想使用,也检查他们不是空之前做.ToString()
。