我有一个表单,用户提交并获得成功消息。现在我需要重定向回表单并清空它,但我似乎无法让页面在 5 秒后自行刷新。
这就是我到目前为止所得到的。有了这个,我得到了 Response is not available in this context
,这意味着我需要一些其他方式来刷新。
protected void bSubmit_Click(object sender, EventArgs e)
lblFeedback.Text = "Your message has been sent.";
lblFeedback.Visible = true; // Show the success-message
mainForm.Visible = false; // Hide the form the user just filled in
reTimer = new System.Timers.Timer(1000 * 5);
reTimer.Elapsed += new System.Timers.ElapsedEventHandler(RefreshToForm);
reTimer.Enabled = true;
}
private void RefreshToForm(object sender, System.Timers.ElapsedEventArgs e)
{
reTimer.Enabled = false;
reTimer = null;
Response.Redirect(Request.RawUrl);
}
最佳答案
尝试在响应中添加 Refresh
header 而不是使用计时器:
protected void bSubmit_Click(object sender, EventArgs e)
lblFeedback.Text = "Your message has been sent.";
lblFeedback.Visible = true; // Show the success-message
mainForm.Visible = false; // Hide the form the user just filled in
Response.AddHeader("Refresh", "5"); // Refresh the page after 5 seconds
}
关于c# - 在 ASP.NET 中 5 秒后重置表单和页面状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41298088/