0

我已经发布了一个与此问题类似的问题,并且可以自己回答,但该解决方案并不能完全让我满意。

使用 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 收到的数据。我只能将它们交给可以使用它们的子功能。但是我需要某种变量中的数据来执行返回错误。

4

3 回答 3

0

鉴于 PageMethods.CheckEntry 会立即运行传递的函数,您可以这样做:

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

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

于 2010-05-06T11:31:38.693 回答
0

我在这里发布了一个运行示例,如何使用 jquery 中的页面方法。

于 2010-04-22T13:05:02.253 回答
0

我制定了一个解决方案,但会感谢更简单的解决方案。

我在页面上使用了一个隐藏字段,在子函数中,我将 page 方法的结果写入该字段:

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

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

于 2010-04-22T16:31:22.707 回答