用返回控制ASP.NET中的流;请勿渲染页面的其余部分

问题描述 投票:0回答:1

这个问题应该很基本。我想控制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()等人中也有类似的经历。

谢谢。

asp.net authentication control-flow
1个回答
1
投票

最简单的方法是创建另一个页面,向用户提供有关问题的消息,然后使用server.transfer(或response.redirect)将控制权转移到该页面。

还有另一种方法是将整个页面内容包含在面板(或面板)中,除了您希望用户看到的内容,然后关闭面板的可见性以不显示页面内容-但是请注意页面生命周期不会停止;只是面板中的内容不可见。

© www.soinside.com 2019 - 2024. All rights reserved.