如何使用c#创建一个打开的网页作为弹出窗口,并在弹出窗口关闭时需要运行一个功能。我的目的是创建一个Web登录/注销并在成功完成事件后运行一个函数
答案 0 :(得分:1)
嗯,你没有给予太多,但如果我猜你的架构是ASP.NET,那么你应该在你的页面的代码隐藏中的服务器上有可以处理该事件的事件。如果您对需求进行扩展,我们可以为您提供更多帮助。
为了完整起见,您应该知道您不能只在浏览器中使用html / javascript运行C#代码。您可以运行Silverlight应用程序,但我认为这不是您想要的。
总结一下,发出Web请求并在服务器上回复它。弹出窗口只是网页,所以那里的架构是一样的。当请求返回时,您可以运行JS来关闭弹出窗口并使主浏览器窗口执行某些操作。
就个人而言,我只是让主浏览器进行登录,弹出窗口对于网络应用中的用户来说很麻烦。
答案 1 :(得分:1)
如果你正在使用jQuery,我强烈建议使用ThickBox http://jquery.com/demo/thickbox/我们在我们所做的每一个项目中使用它,它非常有用,并且很容易修改它让它做你想做的事。
您可以使用它来加载您的登录代码所在的另一个aspx页面,然后特别注意
function tb_remove(){
关闭时调用。这是我们添加代码以将数据返回到页面的地方。
答案 2 :(得分:1)
简短的回答是,你做不到。 C#在服务器上运行,打开弹出窗口是客户端操作。您需要在渲染标记中使用JavaScript以在适当时打开弹出窗口,或者使用target =“_ blank”的锚标记。
然而,我同意其他答案,弹出窗口比它们更值得痛苦,它们会使用户烦恼并导致窗口管理问题,这些问题并不总是很容易解决,尤其是涉及弹出窗口阻止程序时。基于DOM的模态对话框几乎总是更好的解决方案。
答案 3 :(得分:0)
我会和Neil一起去...很抱歉这样说但是你正是杰夫阿特伍德在写这篇文章时所说的那种......
http://www.codinghorror.com/blog/archives/001296.html
我建议您花点时间了解客户端和服务器功能,语言和技术之间的区别。
我还建议你听尼尔,你的可用性技能也需要认真的工作。
大声笑 - 如果你认为我很残忍,请想想你对用户的态度是多么残忍......在弹出窗口登录...... bah