Dilukshan Mahendra
Dilukshan Mahendra

Reputation: 3398

implement javascript message in Code behind C#

I need a code segment to call a javascript function recordInserted() which shows up an alert, from my following code behind method,

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");
    }

Please helpp me with this.

I have tried the following but never worked,

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

Upvotes: 1

Views: 594

Answers (2)

Pranav
Pranav

Reputation: 8871

This will never work .. beacuse you are saying to redirect.
when you say Response.Redirect every thing which you have prepared to send is not sent,instead response is redirect to a new page.So your client script never reaches to browser. you can use it like this :-

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

use window.location.href to redirect to your page("yourpage.aspx').

Upvotes: 1

Aycan Yaşıt
Aycan Yaşıt

Reputation: 2114

Try this:

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

Or try calling Javascript function after a second:

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

Upvotes: 1

Related Questions