2016-09-28 3 views
-2

[WebMethod]属性を使用してC#メソッドを呼び出す必要があり、MVC、WebForms、APIを使用しないでください。クリーンなC#クラス(.CS)、HTMLファイルでなければなりません。MVC、WebFormsのコンセプトを使用しないでjQuery Ajaxでc#クラスのメソッドを呼び出す方法

は、ここに私のWebMethod次のとおりです。私は、これはおそらくあなたが探している答えではありません知っている

<head> //HTML and Ajax 
<title></title> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
    function GetMessage() { 
     $.get("/Home/GetMessage", function (data) { 
      $("p").html(data); 
     }); 
    } 
</script> 
</head> 
<body> 
    <input type="button" onclick="GetMessage()" value="Get Message" /> 
    <p></p> 
</body> 
+2

のコメントを外していることを確認し、API * **あなたは何をしたいですか?なぜ?** –

+0

'GetMessage'メソッドを表示 –

+0

こんにちは、上記のコードをご覧ください。それが単なる属性で動作するなら、私を助けてください。そうでない場合、それがうまくいかない理由を説明してください! – Prashanth

答えて

1

あなたが必要と思う.net webservice .Works同じようにしたい.. webform/MVC ..Let WebService1.asmxとHTMLPage1.htmは同じディレクトリにあります。

Webフォーム、それはMVCを使用してはならない*あなたがラインに[System.Web.Script.Services.ScriptService] WebService1.asmx

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

namespace StackOverflow_Solve.Services 
{ 
    /// <summary> 
    /// Summary description for WebService1 
    /// </summary> 
    [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() 
     { 
      return "Hello World"; 
     } 
     [WebMethod] 
     [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
     public string GetMessage() // Home.CS 
     { 
      //return "GOGO"; 
      Context.Response.Output.Write("Hello World"); 
      Context.Response.End(); 
      return string.Empty; 
     } 
    } 
} 

HTMLPage1.htm

<!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> 
    <title></title> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
</head> 
<body> 
<head> //HTML and Ajax 
<title></title> 

<script> 
    function GetMessage() { 
     //Load jQuery($) to Use 
     $(function() { 
      $.get("WebService1.asmx/GetMessage", function (data) { 
       console.log(data); 
       $("p").html(data); 
      }); 
     }); 

    } 
</script> 
</head> 
<body> 
    <input type="button" onclick="GetMessage()" value="Get Message" /> 
    <p></p> 
</body> 
</body> 
</html> 
+0

質問を読んだことがありますか? OPはウェブサービスを使いたくないはずです。クラスライブラリのメソッドを1つだけ必要とし、ajaxから呼び出したいとします。 MVCやその他のコンセプトなしでASP.NETを使用していた時代、*以前はASP.NETのようなものがあったのを知りたかったのですが、他のコンセプトではどうしたらいいのですか? MVCまたはウェブフォーム –

+0

はい@Div。あなたが正しいです。 – Prashanth

+0

私が正しければ、これを答えとしてなぜ受け入れるのですか? –

2

[WebMethod] 
public string GetMessage() // Home.CS 
{   
     return "GOGO"; 
}  

は、ここに私のAjaxコードです。しかし、あなたの質問から、クライアント・サーバー・アーキテクチャーとは何か、そしてサーバーとは何か、クライアントとは何かが分かりません。

あなたの状況に適したソリューションを見つけることをお勧めします。

あなたの質問に対する直接の答えは「不可能」です。しかし、なぜそれを理解する? Client-Serverシステムのアーキテクチャを理解する必要があります。あなたはここから起動することができます - IISのための

https://en.wikipedia.org/wiki/Client%E2%80%93server_model

特定のリンク -

https://msdn.microsoft.com/en-us/library/ms178473.aspx

https://msdn.microsoft.com/en-us/library/bb470252.aspx

Asp.netページのライフサイクル -

https://msdn.microsoft.com/en-us/library/ms178472.aspx

+0

丁寧な回答 - 実際に必要なのは、彼が必要とするものをよりよく尋ねる/検索するために、Web技術をもっと理解することです。 – Kevin

関連する問題