Facebox Jquery框的关闭按钮关闭母版页,而不是弹出窗口

时间:2012-10-15 16:39:35

标签: c# javascript jquery asp.net

我正在使用Facebox jquery框加载带有提交按钮和取消按钮的小表单。

当我点击提交时,它会关闭加载Facebox窗口而不是Facebox窗口的主页面!它使AddNote.aspx站点保持打开状态(由Facebox加载)并关闭我的Main.aspx。

这是我在AddNote.aspx中的代码(由Main.aspx上的Facebox弹出窗口呈现):

    protected void SubmitButtom_Click(object sender, EventArgs e)
    {

        string note = NotesTextBox.Text;

        //will need to add current user

        using (cmd = new SqlCommand("INSERT INTO notes (FID, note_date, note_text) VALUES (@FID, @note_date, @note_text)", con))
        {
            con.Open();
            cmd.Parameters.Add(new SqlParameter("FID", FID));
            cmd.Parameters.Add(new SqlParameter("note_date", DateTime.Now.ToString()));
            cmd.Parameters.Add(new SqlParameter("note_text", note));
            cmd.ExecuteNonQuery();
            con.Close();
            Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closeModal", "$.facebox.close();");              //WHY DOES THIS CLOSE MAIN.ASPX INSTEAD OF FACEBOX WINDOW?                  
        }           

    }

1 个答案:

答案 0 :(得分:0)

欢迎使用ASP.NET

您正在使用服务器端代码来处理此表单。这意味着你必须做ASP.NET所谓的“PostBack”。这意味着页面上的form正在将数据提交回自身进行处理。由于“提交”按钮是触发它的按钮,因此会调用您的处理程序。

这里重要的是,这需要访问服务器。正在提交表单,在正常的HTTP中(因此在ASP.NET中,因为它是为HTTP处理构建的框架),表示页面刷新。浏览器说“哦!表单正在提交!是时候向服务器发出请求了,等待响应。我可以卸载我现在的页面。”它确实如此。

为了做你想做的事,请查看“AJAX”或Asynchronous XMLHttpRequest。它们是相同的,除了一个更嗡嗡声。