c# - 在 ASP.NET 中 5 秒后重置表单和页面状态

标签 c# asp.net

我有一个表单,用户提交并获得成功消息。现在我需要重定向回表单并清空它,但我似乎无法让页面在 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/

相关文章:

asp.net - 我最早什么时候可以访问 global.asax 中的一些 session 数据?

asp.net - MVC RedirectToAction() 有什么方法可以将对象传递给目标操作吗?

c# - 为什么不能在 .NET 中定义通用索引器?

c# - 当存储库包含您最重要的代码时编写单元测试

asp.net - 使用 ASP.NET 返回响应后如何继续在服务器上工作? (Web 表单和 MVC)

c# - 访问公共(public)保管箱文件夹中的所有保管箱图像

c# - WCF:无法添加服务。服务元数据可能无法访问。确保您的服务正在运行并公开元数据

c# - 如何找到试图访问不存在的数据库列的代码?

c# - 学习新技术的最佳方法是什么?

c# - 您使用的是 Microsoft 企业库吗?