Basavaraj Badiger
Basavaraj Badiger

Reputation: 269

Create javaScript variable in code behind of asp.net

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.?

Upvotes: 10

Views: 17827

Answers (4)

Tim Schmelter
Tim Schmelter

Reputation: 460138

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

Upvotes: 8

Sword-Breaker
Sword-Breaker

Reputation: 429

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

Upvotes: 4

Skorpioh
Skorpioh

Reputation: 1355

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!

Upvotes: 1

Joel Etherton
Joel Etherton

Reputation: 37533

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.

Upvotes: 3

Related Questions