在webgui中解决ShowDialog问题的最好方法是什么?
我有两个表格。MainForm I LogonForm.在MainForm的页面加载,我想显示LogonForm (通过ShowDialog)为用户连接到数据库。当结果为ok时,将加载mainform的其余部分。
但在webgui中,ShowDialog的工作方式与在WinForms中不同。并且在显示LogonFrom之后,它不等待响应(所以响应不是ok)。
我怎么解决它呢?
发布于 2012-05-23 22:18:30
由于网站的性质,在将任何内容发送到客户端之前,必须完成整个Load方法。从理论上讲,您可以构建整个页面,隐藏所有内容,然后在成功登录后显示它,但这仍然需要将页面的所有信息发送到客户端,并且任何稍有经验的用户都可以查看所有这些内容。
你需要做的是不在对话框下面的页面上生成任何东西,当用户按下登录弹出窗口上的'submit‘(或其他任何)按钮时,你应该向服务器发送一个新的请求(而不是试图处理它),在服务器中对用户进行身份验证,并在适当的情况下将他们重定向到主页。
现在,通常情况下,网站只会有一个单独的登录页面,它会把你带到一个常规页面。如果你想有一个弹出窗口,你可以,但它只是一个空白网站顶部的弹出窗口,重定向到一个全新的页面而没有弹出窗口(在成功登录时)。
Web环境本质上不同于桌面应用程序,作为一名程序员,它需要进行重大的范式转换。解决方案不仅仅是“如何阻止表单加载直到弹出窗口完成”,因为阻止表单加载意味着用户永远看不到任何东西(这会导致死锁)。
https://stackoverflow.com/questions/10721421
复制相似问题