Javascript ASP.NET:按退出按钮时退出应用程序

Javascript ASP.NET:按退出按钮时退出应用程序,javascript,c#,asp.net,Javascript,C#,Asp.net,我真的是asp.net的新手。我正在使用Visual Studio 2012 我正在创建一个登录页面,有两个按钮login和Exit 当我单击退出按钮时,应用程序必须关闭并停止调试 我的尝试: 我知道在这个问题的给定链接上还有其他解决方案,但我更喜欢以下方法 protected void Page_Load(object sender, EventArgs e) { ClientScript.RegisterOnSubmitStatement(typeof(Pag

我真的是asp.net的新手。我正在使用Visual Studio 2012

我正在创建一个登录页面,有两个按钮
login
Exit

当我单击退出按钮时,应用程序必须关闭并停止调试

我的尝试:

我知道在这个问题的给定链接上还有其他解决方案,但我更喜欢以下方法

    protected void Page_Load(object sender, EventArgs e)
    {
        ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();");
    }
并在Login.aspx中编写了以下javascript函数

<script language="javascript" type="text/javascript">
    function CloseWindow() {
        window.close();
    }
</script>

函数CloseWindow(){
window.close();
}

注意:如果我单击退出按钮,上面的脚本可以正常工作,但是当我单击登录按钮时,应用程序也会关闭,调试也不会停止。

分别处理这两个按钮。使用“登录”按钮提交页面并处理回发,但不要将任何事件绑定到
CloseWindow()
函数。然后,只需创建并处理退出按钮,如下所示:

<input type="button" onclick="CloseWindow();" value="Exit"/>

对于您的注释,最简单的答案是使用Internet Explorer作为调试工具栏中的默认启动浏览器

与winforms应用程序不同,ASP.Net应用程序是无状态的。在浏览器中运行的代码与在Visual Studio调试器中运行的代码不依赖于相同的资源。它们之间的唯一连接是浏览器向服务器发出的请求(VS 2012调试器将自身视为服务器或使用IISExpress)以及服务器作为这些请求的一部分发回的响应

在大多数情况下,这意味着,当您关闭浏览器时,服务器将继续运行,等待更多请求。Internet Explorer的工作原理与使用Visual Studio的其他浏览器略有不同。当VisualStudio启动的IE实例关闭时,调试器进程也会关闭


如果你真的刚刚开始使用ASP.Net,你应该试试。它在服务器端和客户端代码之间有一个更清晰的分离,这可能有助于您避免这些类型的问题。

您的页面正按照您的要求执行

在您的
加载页面中,您调用了:

ClientScript.RegisterOnSubmitStatement()
该方法使每个表单提交都执行您提供的脚本;这意味着您的所有按钮在被单击时都将运行
CloseWindow
过程

如果只希望其中一个按钮关闭窗口,则应仅将
CloseWindow
方法附加到其中一个按钮。您从链接问题中选择的答案只起作用,因为表单上只有一个按钮。我建议您选择其他答案之一,例如使用:

OnClientClick=“javascript:window.close();”


作为退出按钮上的属性。

减1,这就是你们如何欢迎新朋友加入asp.net世界的方式?非常感谢你们的详细回答。获取错误
编译器错误消息:CS1026:)应为
。我给您的示例只有两个匹配的括号,因此页面上的其他地方似乎缺少一个“)”