【问题标题】:Asp.net page methods not getting calledAsp.net 页面方法没有被调用
【发布时间】:2014-04-10 07:34:43
【问题描述】:

我有一个简单的页面方法示例。但它没有被调用。GetDate() 函数处的断点永远不会被命中,并且总是显示警报为“失败 '。 aspx 页面是:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default13.aspx.cs" Inherits="Default13" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
 <script type="text/javascript" language="javascript" >

     function btnTest_onclick() {

         PageMethods.GetDate(Success, Failure);
     }

     function Success(data) {
         alert("success");
         alert(data);
     }

     function Failure(data) {
         alert("failure");
         alert(data.toSource());
     }
    </script>
</head>
<body >
    <form id="form1" runat="server" method="post">
    <div>
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" ScriptMode="Debug"  >
    </asp:ScriptManager>
    <%--<input type="button" id="btnSave" value="Save" onclick="btnTest_onclick" />--%>
     <asp:Button id="btnSave" runat="server" Text="Save" OnClientClick="btnTest_onclick()"/>
    </div>
    </form>
</body>
</html>

aspx.cs 页面是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

public partial class Default13 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
    public static string GetDate()
    {
        return "str";
    }
}

有什么建议吗?

提前致谢,

【问题讨论】:

  • 您想在服务器端控件上调用 WebMethod 吗?或者从 html 按钮调用它对你来说可以吗?

标签: asp.net-4.0 webmethod pagemethods


【解决方案1】:

我认为问题是因为您的按钮是服务器端控件,建议您改为从 html 按钮调用 PageMethod

如果您需要这样做,请尝试以下代码。

<asp:Button id="btnSave" runat="server" Text="Save" OnClientClick="btnTest_onclick(); return false;"/>

【讨论】:

    猜你喜欢
    • 2018-02-24
    • 1970-01-01
    • 2012-03-13
    • 2014-03-09
    • 1970-01-01
    • 2015-12-30
    • 2011-01-23
    • 2014-06-02
    相关资源
    最近更新 更多