ASP.NET回发和回发按钮

ASP.NET回发和回发按钮,asp.net,caching,postback,back-button,Asp.net,Caching,Postback,Back Button,如果这是一个骗局,很抱歉。我找不到任何与我的问题完全相似的东西 我在表单上有一个asp:标签。在submit按钮返回时,我执行服务器端验证。如果失败,我将标签设置为某个文本值 如果我提供了有效的信息并再次单击提交,我会将标签设置为空,作为提交单击的一部分,它会执行回发并显示新页面 如果单击“上一步”按钮,它将在表单中显示正确的信息和错误标签 再次单击“提交”表示“标签文本”属性为空,尽管文本在屏幕上清晰可见 我希望标签为空(实际上不可见),因为我在执行任何操作之前将其设置为空 我尝试了文本属性和

如果这是一个骗局,很抱歉。我找不到任何与我的问题完全相似的东西

我在表单上有一个asp:标签。在submit按钮返回时,我执行服务器端验证。如果失败,我将标签设置为某个文本值

如果我提供了有效的信息并再次单击提交,我会将标签设置为空,作为提交单击的一部分,它会执行回发并显示新页面


如果单击“上一步”按钮,它将在表单中显示正确的信息和错误标签

再次单击“提交”表示“标签文本”属性为空,尽管文本在屏幕上清晰可见

我希望标签为空(实际上不可见),因为我在执行任何操作之前将其设置为空

我尝试了文本属性和可见属性,但结果相同

准备好了吗?去…

你试过:

protected void Page_Load(object sender, EventArgs e)
{
    lblMessage.Visible = false;
}
每次加载页面时,您的消息都将不可见。因此,当您执行服务器端验证时,您可以设置标签的文本并将可见性设置为true。

“如果单击“上一步”按钮,它将在表单中显示正确的信息和错误标签。”:这没有问题;它向您显示页面发布时的状态

如果不希望邮件标签保留其可见或文本,则标记应为:

<asp:label id='myMsgLbl' runat='server' enableviewstate='false' visible='false/>'

对没用。输出已经缓存,因此“提交”按钮中的控件没有任何更改,请单击“推送到缓存”。“后退”按钮只显示最后一个缓存的状态。我想知道当单击“提交”按钮时是否可以清除缓存。我不能肯定这是否行得通,只是一个建议。。我只是简单地利用了验证代码/设计来避免冗长的代码编写。现在我已经放弃了这个目标。我可以将设计更改为使用CustomValidator和客户端脚本…???还可以尝试设置:Response.Cache.SetNoStore();
    private void Page_Load(object sender, System.EventArgs e)
    {
        Response.CacheControl = "no-cache";
        Response.AddHeader("Pragma", "no-cache");
        Response.Expires = -1;
        Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);