2013-04-10 2 views
0

Я попытался установить свои сессии значение, но каждый раз, когда я хочу, чтобы отобразить текст пользователь вошел в предыдущей странице она возвращает нульпеременных проходит нулевое значение

У меня есть три страницы для подписчиков подробности, Выбранный пакет и банк Детали, все три страницы следуют друг за другом, и пользователь заполнил все страницы своей желаемой информацией и щелкнул дальше, они направлены на страницу, на которой отображается вся информация, которую они ввели.

Возможно, я не вижу, что я делаю неправильно?

SubscriberDetails.aspx

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string FullName = txtFullName.Text; 
    string CompanyName = txtCompanyName.Text; 
    string Vat = txtVAT.Text; 
    string ContactNumber = txtContactNumber.Text; 
    string Fax = txtFax.Text; 
    string District = txtDistrict.Text; 
    string Street = txtStreet.Text; 
    string City = txtCity.Text; 
    string Code = txtPostal.Text; 
    string Trading = txtTrading.Text; 
    string Id = txtID.Text; 
    string ContactPerson = txtContactPerson.Text; 
    string Email = txtEmail.Text; 

     Session["FullName"] = FullName; 
     Session["CompanyName"] = CompanyName; 
     Session["VAT"] = Vat; 
     Session["ContactNumber"] = ContactNumber; 
     Session["Fax"] = Fax; 
     Session["District"] = District; 
     Session["City"] = City; 
     Session["Street"] = Street; 
     Session["Code"] = Code; 
     Session["Trading"] = Trading; 
     Session["ID"] = txtID.Text; 
     Session["ContactPerson"] = ContactPerson; 
     Session["Email"] = Email; 

} 

Final.aspx

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (string.IsNullOrEmpty((string)Session["Fullname"])) 
    { 
     lblFullName.Text = "N/A"; 
    } 
    else 
    { 
     lblFullName.Text = Session["FullName"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["CompanyName"])) 
    { 
     lblCompanyName.Text = "N/A"; 
    } 
    else 
    { 
     lblCompanyName.Text = Session["CompanyName"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["VAT"])) 
    { 
     lblVat.Text = "N/A"; 
    } 
    else 
    { 
     lblVat.Text = Session["VAT"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["ContactNumber"])) 
    { 
     lblContactNumber.Text = "N/A"; 
    } 
    else 
    { 
     lblContactNumber.Text = Session["ContactNumber"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["Fax"])) 
    { 
     lblFax.Text = "N/A"; 
    } 
    else 
    { 
     lblFax.Text = Session["Fax"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["District"])) 
    { 
     lblDistrict.Text = "N/A"; 
    } 
    else 
    { 
     lblDistrict.Text = Session["District"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["Street"])) 
    { 
     lblStreet.Text = "N/A"; 
    } 
    else 
    { 
    lblStreet.Text = Session["Street"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["City"])) 
    { 
     lblCity.Text = "N/A"; 
    } 
    else 
    { 
     lblCity.Text = Session["City"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["Code"])) 
    { 
     lblCode.Text = "N/A"; 
    } 
    else 
    { 
    lblCode.Text = Session["Code"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["Trading"])) 
    { 
     lblTrading.Text = "N/A"; 
    } 
    else 
    { 
    lblTrading.Text = Session["Trading"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["ID"])) 
    { 
     lblID.Text = "N/A"; 
    } 
    else 
    { 
    lblID.Text = Session["ID"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["ContactPerson"])) 
    { 
     lblContactPerson.Text = "N/A"; 
    } 
    else 
    { 
    lblContactPerson.Text = Session["ContactPerson"].ToString(); 
    } 
    if (string.IsNullOrEmpty((string)Session["Email"])) 
    { 
     lblMail.Text = "N/A"; 
    } 
    else 
    { 
    lblMail.Text = Session["Email"].ToString(); 
    } 
} 
+0

Является ли 'string FullName = txtFullName.Text;' возвращает значение null или является 'Session [" Fullname "]' return null? – Codeman

+0

Не ответ, но, возможно, посмотрите на [тройной оператор] (http://msdn.microsoft.com/en-us/library/ty67wk28 (v = vs.80) .aspx). Это упростило бы ваш код, и вы могли бы иметь что-то вроде 'lblContactPerson.Text = string.IsNullOrEmpty ((string) Session [" ContactPerson "])? «N/A»: Session ["ContactPerson"]. ToString(); 'так, чтобы у вас не было страниц операторов if. – spy890

ответ

2

Ну вы не имеете много вариантов там, если это происходит у вас есть проблемы с вашей сессии. Возможно, каждый другой запрос инициирует новый сеанс, убедитесь, что он не выполняется.

Проверить с:

Session.SessionID; 
0

Я вижу один кусок кода с помощью TextBox управления, а нижняя с помощью Label управления.

Возможно, вы не читаете неправильные, не так ли?

Это просто FYI: мы получаем жалобы клиентов на наши веб-сайты, если мы заполняем такие значения, как «N/A». Большинство людей предпочитают видеть пустые места, которые бы также упростить код:

lblVariable.Text = string.Format("{0}", Session["Variable"]); 

переменные, очевидно, необходимо изменить с сессией и контролем имен переменных.

Смежные вопросы