Calling Javascript function from code behind ASP.NET

后端 未结 3 886
失恋的感觉
失恋的感觉 2021-01-27 04:31

I\'m attempting to call a javascript method in its own file from code behind on a button click.

aspx file

protected void Next_Click(object sender, EventA         


        
相关标签:
3条回答
  • 2021-01-27 04:46

    see http://msdn.microsoft.com/de-de/library/z9h4dk8y.aspx

    try this

    string jquery = "drawImage();"
     ClientScript.RegisterStartupScript(typeof(Page), "a key", 
         "<script type=\"text/javascript\">"+ jquery +"</script>"
                   );
    
    0 讨论(0)
  • 2021-01-27 04:46

    1). If the function is stored in external file (e.g. MyScript.js) then you should include it in the <head> section of the web page and add onclick event to the button, like:

    ButtonName.Attributes.Add("onclick", {YourFunction}); 
    

    in Page_Load event.

    2) Another approach is to assign the entire javascript function to a string variable and then pass it instead of {YourFunction} prefixed with javascript:. In this case you don't even need the external file.

    Hope it will help. My best, Alex

    0 讨论(0)
  • 2021-01-27 05:01

    I presume you already included the script file in your page.

    If you require the postback, you need ClientScriptManager.RegisterStartupScript Method (Type, String, String, Boolean) ..

    protected void Next_Click(object sender, EventArgs e)
    {
        if (hidden.Value == "")
        {
            ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), 'startupScript', 'drawImage();', true);
        }
    }
    

    More Info from SO


    You can call the function from your button itself, without the postback.

    <asp:Button runat="server" ID='next' OnClientClick="return drawImage();" />
    

    and in the script

    function drawImage() {
        if(document.getElementById("hidden").value != undefined || document.getElementById("hidden").value != "")
        {
            context.drawImage(video, 0, 0, 320, 240);
            var imgBase = canvas.toDataURL('image/jpeg');
            document.getElementById("hidden").value = imgBase;
            return false;
        }
    }
    
    0 讨论(0)
提交回复
热议问题