【问题标题】:Calling ASP.net function with parameters from javascript使用来自 javascript 的参数调用 ASP.net 函数
【发布时间】:2014-01-10 16:28:38
【问题描述】:

我在服务器端有两个 ASP.Net 函数(代码隐藏):

string GetError();
string GetErrorAtIndex(int, int);

在客户端代码中,我使用 javascript 调用第一个函数,它工作正常

function test() {
    var x = <%= GetError() %>;
    alert('x');
}

但是,我无法调用带有两个参数的第二个函数:

function test2() {
    var param1 = 10;
    var param2 = 100;
    var x = <%= GetErrorAtIndex(param1, param2) %>;
    alert('x');
}

我得到了错误

CS0103: The name 'param1' does not exist in the current context

我知道这是因为 javascript 局部变量在 ASP.Net 调用中不可见。然后我想到了使用 HiddenFields 来存储/传递参数,但我无法做到。

任何提示/输入将不胜感激。

谢谢!

【问题讨论】:

  • 我觉得你不明白服务器和客户端的关系。
  • @crush:除了你的负面语气和没有相当有用的信息外,我想指出我已经清楚地提到我正在寻找使用隐藏字段传递变量,而不使用回发。我敢肯定,即使你不明白这一点,这就是拖钓评论的原因。

标签: c# javascript jquery asp.net data-binding


【解决方案1】:

因为param1 是 JavaScript 变量而不是 ASP.NET 变量。

【讨论】:

  • 如果您正确阅读了我的问题,我已经提到了这一点作为最后一点。我完全理解 javascript vars 在 asp.net 中不可见,反之亦然。我问的是一种“方式”以某种方式传递这个变量,而不使用 AJAX PageMethods 等,比如使用 ASP.Net 隐藏字段,可以在 javascript 和 ASP.net 中更新。
【解决方案2】:

查看 __doPostBack() 方法发送回事件目标和参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    相关资源
    最近更新 更多