WebGui 中的 ShowDialog 不会等待响应
本文关键字:等待 响应 中的 ShowDialog WebGui | 更新日期: 2023-09-27 18:35:01
解决webgui中ShowDialog问题的最佳方法是什么?
我有两个表格。MainForm i LogonForm.在MainForm的页面加载中,我想显示LogonForm(通过ShowDialog(供用户连接到数据库。当结果正常时,将加载主窗体的其余部分。
但是在webgui中,ShowDialog的工作方式与WinForms不同。并且在显示 LogonFrom 后,它不会等待响应(因此响应不正常(。
我该如何解决?
由于网站的性质,必须先完成整个 Load 方法,然后才能将任何内容发送到客户端。 从理论上讲,您可以构建整个页面,隐藏所有内容,然后在成功登录后显示它,但这仍然需要将页面的所有信息发送给客户端,任何中等知识的用户都可以查看所有这些内容,如果他们愿意的话。
您需要做的是不在对话框下方的页面上生成任何内容,当用户按下登录弹出窗口上的"提交"(或其他(按钮时,您应该向服务器发送一个新请求(而不是尝试在客户端处理它(,在其中对用户进行身份验证,如果适用, 将它们重定向到主页。
现在,通常网站只会有一个单独的登录页面,将您发送到常规页面。 如果你想有一个弹出窗口,你可以,但它只是一个空白站点顶部的弹出窗口,它会重定向到一个全新的页面,没有弹出窗口(成功登录(。
Web 环境本质上与桌面应用程序不同,作为程序员,您需要进行重大的范式转变。 解决方案不仅仅是"在弹出窗口完成之前如何阻止表单加载",因为阻止表单加载意味着用户永远不会看到任何东西(这会导致死锁(。