Embedding Server Side Values Sent to Client

20. February 2008

Read this article in your language IT | EN | DE | ES

Something I want to try, that somebody sent me.

Will post more later.

protected void Page_Load(object sender, EventArgs e)
{
    wwScriptVariables scriptVars = new wwScriptVariables();
 
    // *** Add any values static or dynamic
    scriptVars.Add("name", "West Wind Technologies");
    scriptVars.Add("entered", DateTime.Now);
    scriptVars.Add("counter",12.22M);
 
    // *** A cleaner way to get ClientIDs into client code?
    scriptVars.Add("txtNameId", txtName.ClientID);
    scriptVars.Add("btnSubmitId", btnSubmit.ClientID);
 
    // *** Add a control's value
    scriptVars.AddDynamicValue("txtName", this.txtName, "Text");
 
    // *** Done
}
 
The class then renders a JavaScript object into the page with each of the key values as property names. 
<script type="text/javascript">
//<![CDATA[
var serverVars = {
    "name": "West Wind Technologies",
    "entered": new Date(1202809550345),
    "counter": 12.22,
    "txtNameId": "txtName",
    "btnSubmitId": "btnSubmit",
    "txtName": ""
}
//]]>
</script>
 
Now from anywhere you can access these variables via the static object instance:
var name = serverVars.name;
var entered = serverVars.entered;
var counter = serverVars.counter;
 
var txtName = document.getElementById(serverVars.txtNameId);

Code Snippets, JavaScript, Programming, VB.NET , , ,

Add comment


(Will show your Gravatar icon)

  Country flag

Click to change captcha
biuquote
  • Comment
  • Preview
Loading