troubleshooting Question

Passing values in Webmatrix

Avatar of Shezad Ahmed
Shezad AhmedFlag for United Kingdom of Great Britain and Northern Ireland asked on
Web Development
1 Comment1 Solution148 ViewsLast Modified:
Hi

I have created a web page using Microsoft WebMatrix.

I am having a problem passing a value to a variable.

I would like to pass to the company variable.


From my function RequestInformation() I would like to do something like company = result["AbEntry"]["Data"]["0"]["FullName"]

Is this possible or is there another way I can do this?

@using WebMatrix.Data;



@{

    Page.Title = "Sage info";

    var company = "";
    var db = Database.Open("Sage200Demo");
    var selectQueryString = "SELECT * FROM SLCustomerAccount where CustomerAccountNumber = '" + company + "'";

}




<!DOCTYPE html>
<html>
<head>
    <title>Sage info</title>
    <style>
        table, th, td {
            border: solid 1px #bbbbbb;
            border-collapse: collapse;
            padding: 2px;
        }
    </style>
</head>
<body>

  <script type="text/javascript" src="../../ClientScript/jquery/jquery.js"></script>
            <script type="text/javascript" src="../../ClientScript/MaxPage/maximizer.Events.js"></script>
    <script type="text/javascript" src="../../ClientScript/jquery/jquery.js"></script>
    <script type="text/javascript" src="../../ClientScript/MaxPage/maximizer.FollowingTabManager.js"></script>



    <script type="text/javascript">


              var tab = new maximizer.FollowingTab();
              //Subscribe to parentRecordChange event and define event handler
              tab.on("parentRecordChange", function (event) {
                  //Get the current entry key
                  var entryKey = event.data.key;

                  localStorage['SelectedKey'] = event.data.key;
                 RequestInformation()

                  //document.getElementById('myField').value = entryKey;
                  //Update the text in the tab
                  alert("The record has changed. The new record key is: " +
                    event.data.key);
                  //Dismiss the loading indicator
                  parent.$page.FollowingWindow.ontabloadend();
              });
              //Announce to the Following Tab Manager that the tab is ready
              tab.start();

              function getURLParameter(parameterName) {
                  var queryString = window.location.search.substring(1);
                  var urlParameters = queryString.split('&');
                  for (var i = 0; i < urlParameters.length; i++) {
                      var param = urlParameters[i].split('=');
                      if (param[0] == parameterName) {
                          return decodeURIComponent(param[1]);
                      }
                  }
              }

              urlMaximizerWebDataAPI = "http://" + window.location.host + "/maximizerwebdata/Data.svc/json/";

              function callMaximizerApi(baseUrl, methodName, parameters) {
                  //creating the return variable
                  var returnValue = '';
                  //creating the type of the request
                  var httpRequest = new XMLHttpRequest();
                  try {
                      //Openning the request using the provided variables
                      httpRequest.open('POST', urlMaximizerWebDataAPI + methodName,
                                       false);
                      httpRequest.onreadystatechange = function () {
                          if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                              //if is everything OK with the server's answer then set the result value returnValue
                              returnValue = JSON.parse(httpRequest.responseText);
                          }
                      };

                      httpRequest.setRequestHeader('Content-Type', 'text/plain');
                      httpRequest.send(JSON.stringify(parameters));
                      return returnValue;
                  }
                  catch (err) {
                      alert(err);
                  }
              };


            function RequestInformation() {

                //separating the string
                var maxWebDataURL = getURLParameter("WebAPIURL");
                var getTokenURL = getURLParameter("GetTokenURL");
                var identityToken = getURLParameter("IdentityToken");

                //asking the token based on the identityToken
                $.ajax({
                    url: getTokenURL,
                    type: 'POST',
                    dataType: 'json',
                    contentType: 'application/json;charset=utf-8',
                    cache: false,
                    async: true,
                    data: JSON.stringify({ 'IdentityToken': identityToken }),
                    success: function (resultJSON) {
                        localStorage['CurrentUserKey'] = resultJSON.d;
                    },
                    error: function (resultJson) {
                    }
                });

                //after received the token lets build the request for READ the AbEntry information

                var currentUserToken = localStorage['CurrentUserKey'];
                var informationRequest = {
                    "Token": currentUserToken,
                      "AbEntry":{
                          "Scope":{
                              "Fields":{
                                  "FullName": 1,
                                  "Phone":1,
                                  "Email": 1
                              }
                          },
                          "Criteria": {
                              "SearchQuery": {
                                  "$EQ":{
                                      "Key": localStorage['SelectedKey']
                                  }

                              }
                          }

                      }
                 

                  };
                //after build the form, lets call the api and save the result in a variable
                var result = callMaximizerApi(urlMaximizerWebDataAPI, "AbEntryRead", informationRequest);

         
               
           

                alert(result["AbEntry"]["Data"]["0"]["FullName"]);

            }


        </script>

    <h1>sage info</h1>
    <table>
        <thead>
            <tr>
                <th>AccountBalance</th>

               
            </tr>
        </thead>
        <tbody>
            @foreach (var row in db.Query(selectQueryString))
            {
                <tr>
                    <td>@row.AccountBalance</td>

                </tr>
            }
        </tbody>
    </table>

       <script>
document.write(company);
</script>

</body>
</html>
ASKER CERTIFIED SOLUTION
Shezad Ahmed

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 1 Comment.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 1 Comment.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros