通过json.parse将变量传递给asp

时间:2016-09-02 12:59:12

标签: javascript asp.net json vb.net

我在后面的VB代码中有一个函数,它使用参数并为前端输出datatable,用于在google-maps上放置标记。从前面,我需要发送用户输入的变量。

Javascript Pseudo:

if (a = true){
    var varName = inputBox.value;
    var passer1 = chkCondition1();
    var passer2 = chkCondition2();

    if (passer1 == true && passer2 == true) {
        Coordinates = JSON.parse('<%=ConvertTabletoString(varName) %>');
    }
else {
    //do other stuff
     }

我收到了错误:

  

错误2'未声明varName'。由于它可能无法访问   保护水平。

我不知道该怎么做。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您遇到问题的原因是您要在服务器端使用的变量在服务器上不存在,而且,在您打算到达它的位置,客户端也不存在。您基本上尝试在服务器上访问将在客户端创建的变量,但您打算到达它的位置基本上是在用户在浏览器中看到任何内容之前。

  1. 您需要通过ajax将您的价值发布到服务器端。

  2. 当你的命令到达服务器并在客户端发回你需要的JSON时,你需要一个server-side API function

  3. ajax callback解析响应JSON。

  4. 利润。

答案 1 :(得分:0)

&#34;的varName&#34;是一个客户端变量,这就是你得到错误的原因。

如果&#34; inputBox&#34;是服务器控件,您可以直接从ConvertTabletoString()方法访问它的值。

如果没有,请使用带有runat =&#34; server&#34;的隐藏字段。并为其分配inputBox.value。因此,您可以从服务器方法访问隐藏字段值。