【发布时间】:2017-01-10 14:36:33
【问题描述】:
我在后面的 VB 代码中有一个函数,它使用参数并输出 datatable 供前端用于在谷歌地图上放置标记。从前面,我需要发送一个用户输入的变量。
Javascript 伪:
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' 未声明。它可能无法访问,因为它 保护等级。
我不确定在这里做什么。有没有办法解决这个问题?
【问题讨论】:
-
<%=ConvertTableto...blabla... %>中的内容在您的 VB 中的服务器端执行,因此它对 varName 存在于您的 javascript 中一无所知。 -
明白了。所以我必须将该变量传递给后端。我记得看到过使用隐藏字段的方法,但感觉很hacky,这是公认的方法吗?
-
从 mvc 背景进入 webforms 我还发现隐藏字段是一种奇怪的做事方式,但我认为这是完全可以接受的。不过,有时您可能会更好地使用来自您的 javascript 的 AJAX 调用,这取决于。设置隐藏字段后,需要从服务器端读取它,那么如何触发呢?然后,您可能还需要在您的页面上使用
asp:button来读取服务器端单击事件中的隐藏字段,然后如果您的 javascript 需要处理响应...?所以是的,ajax 调用有时会更容易。
标签: javascript asp.net json vb.net