2011-12-20 15 views
0

Visual Studio 2010でJavaScriptとAJAX Control Toolkitを使用してASMX Webサービスを呼び出そうとしています。 FireWireでSampleWebServiceが定義されていないため、エラーコンソール。 これはVS 2008で非常にうまく動作していましたが、VS 2010と同じではありません。 VSM 2010でAJAXControl ToolkitとJavaScriptを使用してASMX Webサービスを呼び出す方法に変更はありますか?Visual Studio 2010でJavascriptとAJAX Control ToolKitを使用してASMX Webサービスを呼び出す

SP1でVS 2010 Premiumを使用しています。

また、ASMXサービスのサービスリファレンスも追加しました。 ASMXサービスコードに続いて

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

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptService] 
public class SampleWebService : System.Web.Services.WebService { 

    public SampleWebService() { 

     //Uncomment the following line if using designed components 
     //InitializeComponent(); 
    } 

    [WebMethod] 
    public string HelloWorld() { 
     return "Hello World = "+DateTime.Now.ToString(); 
    } 

} 

JavaScriptのコード:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
     <Services> 
      <asp:ServiceReference Path="~/SampleWebService.asmx" /> 
     </Services> 
    </asp:ToolkitScriptManager> 


    <input id="btn" type="button" value="Click" onclick="javascript:fnBtnClick();" /> 
    <script type="text/javascript"> 
     function fnBtnClick() { 
      alert("fnBtnClick"); 
      SampleWebService.HelloWorld(onSuccess,onFailure); 
     } 

     function onSuccess(result) { 
      alert("onSuccess = "+result); 
     } 
     function onFailure(result) { 
      alert("onFailure = " + result); 
     } 
    </script> 
</asp:Content> 

答えて

0

このリンクに

asmx web service returning xml instead of json in .net 4.0

を述べたように、私はScriptHandlerFactoryを追加し、それが動作します。

私はそれが欠けていた理由を知らない。何人かがそれに少しの光を投げることができるなら、より良い理解のために親切であろう。

関連する問題