javascriptc#ascx

How can I call a javascript function from server side


I try to call a javascript function from an other c# function but I have an error in my console

Uncaught ReferenceError: updateState is not defined

.ascx file

<script>    
    function updateState(){
        console.log("test")
    }   
</script>

<button runat="server" ID="Btn_Modify_state" onserverclick="Btn_Modify_state_Click">
    <i class="fas fa-edit"></i>
</button>

.ascx.cs file

protected void Btn_Modify_state_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "updateState();", true);
}

I don't know how to resolve that issue someone have any idea ?


Solution

  • The solution was to do that :

    .ascx.cs

    protected void Btn_Modify_state_Click(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script type='text/javascript'>updateState();</script>");
    }