2009-07-03 9 views
0

http://www.asp.net/learn/videos/video-7026.aspxのビデオに続いて、Joe StagnerがAjaxで呼び出される単純なWebサービスを作成しました。 Button1_onclick()ハンドラでは、JavaScriptがオブジェクト "WebService1"を解決できません。何かが間違っているのを見ますか?JavascriptはWebサービスを認識しません

Button1_onclick()の「 'WebService1'が未定義です」というエラーがあります。

注:投稿タグが表示されるようにheadタグとbodyタグを取り出しました。彼らはすべて私のファイルにあります。

<script language="javascript" type="text/javascript"> 
    function Button1_onclick() { 
     ret = WebService1.HelloWorld(document.getElementById("Text1").value, OnComplete, OnError); 
    } 

    function OnError() { 
     alert("An error occurred"); 
    } 
    function OnComplete(arg) { 
     document.getElementById("CallResponse").innerHTML = arg; 
    } 
</script> 

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
<Services> 
    <asp:ServiceReference Path="~/WebService1.asmx" /> 
</Services> 
</asp:ScriptManager> 
<div> 
    <input id="Text1" type="text" /><br /><br /> 
    <input id="Button1" type="button" value="Click to test Ajax" onclick="return Button1_onclick()" /><br /> 
    <div id="CallResponse"> 
    </div> 
</div> 
</form> 

ここにウェブサービスがあります。はい、私は私が想定していたラインをコメントアウトしました。

 

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

namespace AjaxTest 
{ 
    /// 
    /// Summary description for WebService1 
    /// 
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService] 
    public class WebService1 : System.Web.Services.WebService 
    { 

     [WebMethod] 
     public string HelloWorld(string s) 
     { 
      return "Hello " + s; 
     } 
    } 
} 

答えて

4

これは、クラスとしてAjaxTest.WebService1を探す必要があります。それは完全修飾ネームスペースで動作します

+0

ありがとうございます!スタックオーバーフローの人は素晴らしいです。 – BrianK

関連する問題