如何获取jQuery PageMethods函数的结果

时间:2010-04-22 08:34:18

标签: jquery pagemethods

我已经针对这个问题发布了一个类似的问题并且可以自己回答,但解决方案并不能完全满足我。

使用Asp.Net/C#,我有一个按钮,它会执行一些服务器端代码 通过客户端验证。我想这样做,因为对于我的应用程序,我认为它最适合。

<asp:Button runat="server" ID="addBtn" Text="Add" OnClientClick="if(validateEntry()== false){return false;}" OnClick="addBtn_Click"/>

我调用一个名为validateEntry()的jQuery函数,该函数使用PageMethods来获取一些 来自服务器的数据。数据是验证过程所必需的。

function validateEntry() {

PageMethods.CheckEntry(params, function(result){//Evaluate result of PageMethods}
}

我的问题是我不知道如何正确处理从PageMethods收到的数据。 我只能将它们交给可以使用它们的子功能。但我需要 变量类型中的数据,用于执行返回false。

3 个答案:

答案 0 :(得分:0)

我已经发布了一个运行示例,如何使用jquery here中的页面方法。

答案 1 :(得分:0)

我制定了一个解决方案,但感谢更容易的解决方案。

我在页面上使用隐藏字段,在子函数中,我写了结果 从页面方法到字段:

$("#pageMethodsResultField").val(result);

之后,我可以从字段中读取结果,以便在主函数中使用它。

答案 2 :(得分:0)

鉴于PageMethods.CheckEntry无延迟地运行传递函数,您可以这样做:

function validateEntry() {
  var foo;
  PageMethods.CheckEntry(params, function(result){
    foo = "bar";
  });
  alert(foo);
}

如果您尝试此操作并且未显示“foo”,则该功能会延迟,您需要重新考虑如何执行此操作或提供更多信息,以便我们为您提供帮助。