ASP.NETとMVCモデルを使い始めたばかりです。私は基本的な概念に取り組み、いくつかのモデル、コントローラー、およびビューが正常に機能しています。WebメソッドとページメソッドをWebサービスに追加する方法は知っていますが、MVCプロジェクトでは理解できません。
AJAXリクエストに応答する正しい方法として、プロジェクトにPageメソッドを追加する必要があると思います。これは私のコントローラーがどのように見えるかです:
namespace MyProject
{
public class OrderController : Controller
{
public ActionResult Place (ProductSku sku)
{
var order = Order.NewOrder(sku);
var db = new SystemDiscsLib.Database();
db.SaveOrder(order);
return View(order);
}
[WebMethod]
public static string GetDate ()
{
return DateTime.Now.ToString();
}
へのPOSTは正常に/Order/Place
機能し、ビューが作成されてコンテンツが表示されViews/Order/Place.aspx
、誰もが満足しています。/Order/GetDate
ただし、エラーで失敗するように行われた要求The resource cannot be found
。Web.config
私はこれを私のに追加することでページメソッドを正しく有効にしたと思いますsystem.web
:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
ビューが必要ないため、ビューはGetDate
ありません。JSONデータを返すだけです。私はJQueryを使用するつもりなので、この記事EnablePageMethods
のとおり、その他のことはしませんでした。ScripManager