ASP.NET MVC 3 中的 RestFul 操作方法
本文关键字:RestFul 操作方法 中的 NET MVC ASP | 更新日期: 2023-09-27 18:34:07
我无法在我的操作方法中检索我的 POST 请求正文。
我使用提琴手发起发布请求。
这是我正在使用的控制器。
public class EventController : Controller
{
//
// GET: /Event/
public ActionResult Index()
{
return View();
}
[HttpPost]
[ActionName("Event")]
public String AddSurvey()
{
// ... logic to modify or create data item
return "Ahmed" + Request["person"];
}
}
这就是我的 global.asax 的配置方式
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(null, "Event",
new { controller = "Event", action = "Event" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
当我从提琴手那里发出 POST 请求时,我在方法上的断点会调用。但是当我观察请求["人"]的值时,其中有空。
是全局.asax中定义的路由吗?请帮助
尝试将Index
操作重命名为Event
。 [ActionName("Event")]
表示您的 Get 操作称为 Event
。
当有人在常规 ASP.NET MVC 中寻找 RESTful 方法时,确保他了解 WebAPI 对我来说很重要,这完全符合这种需求。
ASP.NET Web API 是一个框架,可以轻松构建 HTTP 覆盖广泛客户端的服务,包括浏览器和 移动设备。ASP.NET Web API 是构建的理想平台 .NET Framework 上的 RESTful 应用程序。
我不知道 , 如何 . 或为什么. 但这奏效了
[HttpPost]
[ActionName("Event")]
public String AddSurvey()
{
// ... logic to modify or create data item
string body;
using (StreamReader reader = new StreamReader(Request.InputStream))
{
body = reader.ReadToEnd();
reader.Close();
}
return body;
}