开发者

Create javaScript variable in code behind of asp.net

开发者 https://www.devze.com 2023-01-29 22:25 出处:网络
How 开发者_如何学Godo 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.?You can use the RegisterCl

How 开发者_如何学Godo 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.?


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


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


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.


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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号