Create javaScript variable in code behind of asp.net

前端 未结 4 2148
不知归路
不知归路 2020-12-16 19:39

How do I register a Javascript variable on the server side (backend) and access it on the client side (Javascript file), without a hidden field, Literal, etc.?

相关标签:
4条回答
  • 2020-12-16 19:50

    First place an <asp:Literal ID="Literal1" runat="server"></asp:Literal> tag in the <head> of your .aspx file.

    Then in the server side code in your .aspx.cs file, do something like Literal1.Text = "<script type=\"text/javascript\">var timer = 3600</script>" and you've got yout javascript variable called timer.

    That's it. Have fun!

    0 讨论(0)
  • 2020-12-16 19:53

    You can use the RegisterClientScriptBlock-Function from the Page's ClientScriptManager.

    Page.ClientScript.RegisterClientScriptBlock(Page.GetType, "initMyClientVariable", "var myClientVariable=null;", True)
    

    EDIT: according to your new informations, that you want to register a client array, use ClientScriptManager's RegisterArrayDeclaration Method.

    VB.Net example:

    Dim myArrayValue As String = """1"", ""2"", ""text"""
    Page.ClientScript.RegisterArrayDeclaration("myClientArray", myArrayValue)
    

    According to the new information in my comments that you need access to that variable from an external js-file: you should pass the js-array as argument to the function in the js-file. For example:

    callFunctionInJsFile(checkBoxes);
    
    0 讨论(0)
  • 2020-12-16 19:55

    You can put the following code in .aspx file ...

    <script type="text/javascript" >
        var date1 = "<%: DateTime.Now %>";
        var date2 = "<%= DateTime.Now %>";
    </script>
    
    <%:  %> works under ASP.NET 4
    
    0 讨论(0)
  • 2020-12-16 20:09

    You can put a literal in the xml portion of the code and assign that literal some text:

    myLiteral.Text = "<script language=\"javascript\">var myVar = 24;</script>";
    

    This makes myVar globally available on the client side once it's rendered. You can also use the ClientScriptManager object to use Asp.Net to inject scripts and variables.

    0 讨论(0)
提交回复
热议问题