-1

別のフォーラムで、誰かが PageMethods が定義されていないと不平を言いました。そして、誰かが言った答えを提供しました...「ほら、これが彼らを働かせる方法です」。だから私は彼らのコードをコピーして試しました。まだ PageMethods が定義されていません。

ページは次のようになります。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageMethods.aspx.cs" Inherits="PageMethods" %>
<!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>Untitled Page</title>
</head>
<body onload="GetFromServer();">
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1" EnablePageMethods="true"></asp:ScriptManager>
<div>

</div>
</form>
<script type="text/javascript">
function GetFromServer()
{
PageMethods.GetHello(OnGetHelloComplete);
}
function OnGetHelloComplete(result, userContext, methodName)
{
alert("Result: " + result + "\n" +
"Context: " + userContext + "\n" +
"Method name: " + methodName);
}
</script>
</body>
</html>

そして、これがコードビハインドです。

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Services;
using System.Web.Script.Services;
public partial class PageMethods : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string GetHello()
{
    return "Hello From Server!";
}
}

ページを実行すると、「PageMethods」が定義されていないという JavaScript エラーが発生します。

これは .net 2.0 Web サイトです。

4

1 に答える 1

0

これには .NET 3.5 が必要になると思います。GetHello簡単なデモで正確なコードを使用したところ、問題なくメソッドを呼び出すことができました。

于 2012-10-09T09:20:11.817 に答える