Skip to content Skip to sidebar Skip to footer

Pass C# Values To Javascript

On loading the page I want to pass a value to my javascript function from a server side variable. I cannot seem to get it to work this is what I have: Asp.Net protected void Page_L

Solution 1:

I believe your C# variable must be a class member in order to this. Try declaring it at the class level instead of a local variable of Page_Load(). It obviously loses scope once page_load is finished.

publicpartialclassExample : System.Web.UI.Page
{
    protectedstring blah;

    protectedvoidPage_Load(object sender, EventArgs e)
    {
        blah = "ER432";
        //....

Solution 2:

In this particular case, blah is local to Page_Load you'll have to make it a class level member (probably make it a property) for it to be exposed like that.

Solution 3:

You can put a hidden input in your html page:

<inputtype="hidden" runat='server'id="param1" value="" />

Then in your code behind set it to what you want to pass to your .js function:

param1.value = "myparamvalue"

Finally your javascript function can access as below:

document.getElementById("param1").value

Solution 4:

What I've done in the past is what webforms does as it's functionality--creating a hidden field to store values needed by the client. If you're using 4.0, you can set the hidden field client id mode to static to help keep things cleaner as well. Basically, add you value to the hidden field and then from javascript you can get the value or modify it too(in case you want to pass it back) since it's just a dom element.

If you really want to use code--like a variable, it needs to be accessible at the class scope.

Solution 5:

Your string blah needs to be a public property of your Page class, not a local variable within Page_Load. You need to learn about scoping.

publicclassMyPage
{
    publicstring blah { get; set; }

    protectedvoidPage_Load(object sender, EventArgs e)
    {
        blah = "ER432";
    }
}

Post a Comment for "Pass C# Values To Javascript"