在C#后面的代码中实现javascript消息

时间:2013-09-29 10:09:31

标签: c# javascript asp.net

我需要一个代码段来调用一个javascript函数recordInserted(),它显示一个警告,来自我后面的代码隐藏方法,

protected void add_Click(object sender, EventArgs e)
    {
        String gradename = txt_gradename.Text;
        int allocatedclasses = Int32.Parse(txt_allocatedclasses.Text);
        String headid = txt_head_id.Text;
        int numberofstudents = Int32.Parse(txt_numberofstudents.Text);

        db = new DBConnection();
        db.getConnection();
        db.executeUpdateQuery("INSERT INTO Grade (GradeName,AllocatedClasses,GradeHeadID,NumberOfStudents) VALUES ('"+gradename+"','"+allocatedclasses+"','"+headid+"','"+numberofstudents+"')");

//I Need to call it from here before redirecting
        Response.Redirect("AdminReferenceGradeAdd.aspx");
    }

请帮助我。

我尝试过以下但从未奏效,

Page.ClientScript.RegisterStartupScript(this.GetType(),"Call my function","recordInserted()",true);

2 个答案:

答案 0 :(得分:1)

试试这个:

ClientScript.RegisterClientScriptBlock(typeof(Page), "Call your function", "recordInserted()", true);

或者尝试在一秒钟后调用Javascript函数:

ClientScript.RegisterClientScriptBlock(typeof(Page), "Call your function", "setTimeout('recordInserted()', 1000)", true);

答案 1 :(得分:1)

这将永远不会有效..因为你说要重定向。
当你说Response.Redirect你准备发送的所有内容都没有发送时,而是将响应重定向到新页面。所以你的客户端脚本永远不会到达浏览器。 你可以像这样使用它: -

Page.ClientScript.RegisterStartupScript(this.GetType(),"Call my function","recordInserted();window.location.href='wwW.google.com'",true);

使用window.location.href重定向到您的页面(“yourpage.aspx”)。