ASP.NET private member-Bereich an Wert verliert postback

Betrachten Sie den folgenden code:

    public partial class TeacherControlPanel : System.Web.UI.Page
    {
        protected string username = string.Empty;

        protected void Page_Load(object sender, EventArgs e)
        {
            username = (string)Request.QueryString["username"];

            Ice_Web_Portal.BO.Teacher teacher = Ice_Web_Portal.BO.Teacher.GetTeacherByUsername(username);

            if (teacher != null)
            {
                labUsername.Text = username;
                labName.Text = teacher.TeacherName;
                labTeacherCode.Text = teacher.TeacherCode;

                Dept dept = teacher.Department;

                if (dept != null)
                {
                    labDepartment.Text = dept.DeptName;
                }
            }
            else
            {
                //labErrorMessage.Text = "No teacher found";
            }
        }

        protected void btnSendMail_Click(object sender, EventArgs e)
        {
            Response.Redirect(@"~/Teacher/TeacherComposeMail.aspx?username=mahabub" + username);            
        }
}

In diesem code, wenn ich sage 'username' als privat, es ist auf null initialisiert, nach dem anschließenden post Rücken.

Warum?

Was ist das Geheimnis?

  • Sagen Sie, dass der code funktioniert, wie geschrieben, aber wenn Sie den Benutzernamen ändern, um eine private variable, die es nicht?
  • Ist es auf null initialisiert, oder string.Leer?
  • es ist null.
  • Immer ein Lehrer-Daten durch seine einzigartige Benutzernamen ein. Keine partielle Klasse.
  • JMSA - das problem ist wahrscheinlich in den code der macht das postback, das scheint ok. Bitte poste diesen code.
  • plz das update angezeigt.
  • Kiesel, ja, Sie bekam es.
  • Können Sie zeigen Sie uns den code, der nicht funktioniert? Einfach Wechsel in die private sollte keinen Einfluss haben. Es sollte keine Serialisierung Art Dinge in den hintergrund (die möglicherweise erklärt Dinge).
  • Fisher, nur machen Sie es private string username = string.Leer;'
  • Fisher, keiner meiner Klassen sind Serialisierbar.

InformationsquelleAutor user366312 | 2009-08-21
Schreibe einen Kommentar