Wie speicher ich Textbox-Eingabe auf Button klicken, so dass die Seite neu laden kann diese Werte verwenden, um einen Teil seines Inhalts neu zu erstellen? Ich habe versucht mit ViewState, aber es sagt immer nur null auf page_load bei der Verwendung von Haltepunkten.Speichern Zeichenfolge aus Textfeld auf Buttonclick, um diese Variable auf Seite neu zu laden
Button-Klick:
protected void LoadLifeLineBtn_Click(object sender, EventArgs e)
{
ViewState["lifelineID"] = Convert.ToInt32(TextBox1.Text);
ViewState["phaseid"] = Convert.ToInt32(TextBox2.Text);
this.Page_Load();
}
Und herer mein page_load
int lifelineid;
int phaseid;
protected void Page_Load(object sender, EventArgs e)
{
hideAndShow();
if (!IsPostBack)
{
lifelineid = 22222;
phaseid = 1;
FillFaseTable(PhaseMainTable, phaseid, lifelineid);
PhasePanel.CssClass = "panel col-lg-2 col-md-2 col-xs-2 Phase1BackgroundColor";
}
else if (IsPostBack)
{
if (ViewState["lifelineid"] != null)
{
lifelineid = (int)ViewState["lifelineid"];
}
if (ViewState["phaseid"] != null)
{
phaseid = (int)ViewState["phaseid"];
}
FillFaseTable(PhaseMainTable, phaseid, lifelineid);
PhasePanel.CssClass = "panel col-lg-2 col-md-2 col-xs-2 Phase1BackgroundColor";
}
}
zuvor hatte this.Page_load (null, null), da es etwas erfordert. Der Grund, warum ich diese.Page_load in LoadLifeLineBtn verwendet habe, ist, weil ich die Werte für viewstate setzen musste, aber zu diesem Zeitpunkt war page_load bereits beendet (da es vor dem Buttonclick gemacht wurde) – svennand
Refactor den Code innerhalb der 'else if (IsPostBack) 'Block in eine Methode, dann rufen Sie diese Methode auf, anstatt' this.Page_Load() 'aufzurufen. Eigentlich brauchst du nur die letzten zwei Zeilen. – mshsayem
JA! das hat funktioniert! Vielen Dank :) – svennand