【发布时间】:2012-04-11 23:12:16
【问题描述】:
我刚刚开始使用 ASP.NET 和 MVC 模型。我已经围绕基本概念进行了研究,并且有一些模型、控制器和视图工作正常。我知道如何将 Web 方法和页面方法添加到 Web 服务,但无法为 MVC 项目解决。
我(认为)我需要在我的项目中添加一个页面方法作为响应 AJAX 请求的正确方法。这是我的控制器的样子:
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();
}
发布到/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的东西,per this article。
【问题讨论】:
标签: asp.net asp.net-mvc pagemethods webmethod