Ich versuche, eine ViewState-Variable zu setzen, wenn eine Taste gedrückt wird, aber es funktioniert nur das zweite Mal, wenn ich auf die Schaltfläche klicke. Hier ist der Code-Behind:Viewstatus auf Postback setzen
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
lblInfo.InnerText = String.Format("Hello {0} at {1}!", YourName, DateTime.Now.ToLongTimeString());
}
}
private string YourName
{
get { return (string)ViewState["YourName"]; }
set { ViewState["YourName"] = value; }
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
YourName = txtName.Text;
}
Gibt es etwas, das ich vermisse? Hier ist die Form-Teil der Design-Datei, sehr einfach nur als POC:
<form id="form1" runat="server">
<div>
Enter your name: <asp:TextBox runat="server" ID="txtName"></asp:TextBox>
<asp:Button runat="server" ID="btnSubmit" Text="OK" onclick="btnSubmit_Click" />
<hr />
<label id="lblInfo" runat="server"></label>
</div>
</form>
PS: Die Probe ist sehr vereinfacht, „verwenden txtName.Text
statt Viewstate“ ist nicht die richtige Antwort Ich brauche die Informationen in ViewState.