Link to home
Start Free TrialLog in
Avatar of zameer21
zameer21

asked on

Hot to access codebehind string from client side javascript

in my code behind i have
string strname="Jack";

I want to access this string in my javascript function,how can i do it.I know how to do a control but not a string,Can you please help.

Thanks,
ASKER CERTIFIED SOLUTION
Avatar of enachemc
enachemc
Flag of Afghanistan image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of tncbbthositg
tncbbthositg

What do you mean access it?  If you want to change it, you're going to have to pass the value back in a form.  If you only need to read it for something, then enachemc's solution will work.

TNC
Avatar of HonorGod
I think that enachemc has the right idea.  It sounds like you have a string variable on your server that you would like to make available on your client.

? Is this correct?
? In what language is your server code written?
? Do you know if your server program is generating HTML?
Avatar of zameer21

ASKER

Sorry about the delay in responding the code behind is in C# and i want to access it in Javascript.
Let me be more clear.
if there is a textbox name txtName,You can access the value in javascript as document.getelementbyid("txtName").value.
In the same way i have string in C# code behind
string strName="dssfdfdsfdsfd";

I want to access this in javascrpt function,How can i do it,without sending it as parameter.

Sorry once again for late response.
You can't.  If you want to change the value "on the server," you'll have to pass it through the request.  I'd like to just say that this is my beef with ASP.NET.  People who are used to application development use ASP.NET and think that there's somehow a syncronous connection with the server . . . which there isn't.  Zameer ... think of ASP.NET as a procedural language because that's how it gets executed.  Sure, .NET hides that fact very gracefully, but the fact remains that a request comes in, the server builds HTML and sends it back.  That's it.  Then, the connection is broken.  If you then want to interact with the codebehind again, a new connection has to be made.  That's assuming, of course, that I understand what you're asking.  The others feel like you're saying, "how can I print a variable from C#."  I think you're saying, "how can I use JS to change the value of a variable in the code behind."  Well, you can't.  Not without passing the value back to the server through a request object.  Keep in mind, unless you store it as a session variable, as a hidden form element, or in the view state, the next time a request is initiated, that variable will be reset because web pages function asyncronously.

TNC
as I said: var strname = '<%=strname%>';
the var strname part is JS.

The <%=strname%> will read the variable from C#
enachemc, I think what he's looking for is . . .


<script type="text/javascript">
  strname = 'A new Value';
</script>



Such that in the codebehind . . .

if (strname = "A new Value")
{
  Response.write("I accessed a codebehind variable from javascript");
}


TNC
thanks for everybody for your help,but enachemc had it. Actually i was acessinmg this variable on .js file which is lined to the aspx page,wheni call it directly,it does not bring the value.
I had to assign a variable to the string on the aspx page and then access the variable in the js file.I cant access it directly from js file.

Thanks