这个问题应该很基本。我想控制ASP.NET页面的流程-如果满足特定条件,我想写出错误消息并停止绘制页面。但是,我也希望ASP.NET输出正确的HTML(即不要在中间截断)。现在我正在这样做:
if (condition != what-i-want) {
Label_Error.Text = "Sorry, you messed up";
return;
}
并且该代码段的问题是ASP.NET绘制了定义的页面的其余部分,但在错误发生后没有中断。我真的不想制作整个页面Visible = False
,然后在某人通过身份验证时撤消它。
是否有一些好的方法可以做到这一点?我已经尝试过Response.End()
,但是不会输出干净的HTML(或任何实际内容,因为我正在检查Page_Load
)。我在Response.Close()
等人中也有类似的经历。
谢谢。
最简单的方法是创建另一个页面,向用户提供有关问题的消息,然后使用server.transfer(或response.redirect)将控制权转移到该页面。
还有另一种方法是将整个页面内容包含在面板(或面板)中,除了您希望用户看到的内容,然后关闭面板的可见性以不显示页面内容-但是请注意页面生命周期不会停止;只是面板中的内容不可见。