asp.net-mvc – 如何将相同URL的GET和DELETE请求路由到不同的控制器方法
发布时间:2020-05-23 12:37:54 所属栏目:asp.Net 来源:互联网
导读:这是我在Global.asax的路线 routes.MapRoute(PizzaGet, pizza/{pizzaKey}, new { controller = Pizza, action = GetPizzaById }); routes.MapRoute(DeletePizza, pizza/{pizzaKey}, new { controller = Pi
|
这是我在Global.asax的路线 routes.MapRoute("PizzaGet","pizza/{pizzaKey}",new { controller = "Pizza",action = "GetPizzaById" });
routes.MapRoute("DeletePizza",action = "DeletePizza" });
这是我的控制器方法 [AcceptVerbs(HttpVerbs.Get)] public ActionResult GetPizzaById(long pizzaKey) [AcceptVerbs(HttpVerbs.Delete)] public ActionResult DeletePizza(long pizzaKey) 当我做一个GET它返回的对象,但是当我做一个DELETE我得到一个404.似乎这应该工作,但它没有。 如果我切换两个路由,那么我可以执行DELETE,但是在GET上获得404。 现在这真的很美。谢谢 routes.MapRoute("Pizza-GET",action = "GetPizza"},new { httpMethod = new HttpMethodConstraint(new string[]{"GET"})});
routes.MapRoute("Pizza-UPDATE",action = "UpdatePizza" },new { httpMethod = new HttpMethodConstraint(new string[] { "PUT" }) });
routes.MapRoute("Pizza-DELETE",action = "DeletePizza" },new { httpMethod = new HttpMethodConstraint(new string[] { "DELETE" }) });
routes.MapRoute("Pizza-ADD","pizza/",action = "AddPizza" },new { httpMethod = new HttpMethodConstraint(new string[] { "POST" }) });
解决方法您可以通过HTTP动词来限制您的路由,如下所示:string[] allowedMethods = { "GET","POST" };
var methodConstraints = new HttpMethodConstraint(allowedMethods);
Route reportRoute = new Route("pizza/{pizzaKey}",new MvcRouteHandler());
reportRoute.Constraints = new RouteValueDictionary { { "httpMethod",methodConstraints } };
routes.Add(reportRoute);
现在你可以拥有这两条路线,它们将受到动词的约束。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET / VB中的jsFiddle是否相当?
- asp.net-mvc – ASP.NET MVC跟踪问题
- asp.net-mvc – 部署的ASP.NET MVC 4项目不会运行
- asp.net – 如何从水晶报表中的组字段中删除组名
- asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用
- asp.net – 我应该继续研究MVC 1.0上的项目还是停止学习MVC
- asp.net – 提高性能的最佳方法(并以某种方式包括故障转移)
- asp.net-mvc-4 – MVC 4.5 Web API路由无法正常工作?
- 如何在ASP.NET中继器DataDataBound事件中访问数据源字段?
- 我可以在asp.net 4.0站点中托管.net 2.0虚拟目录吗?
推荐文章
站长推荐
- asp.net-mvc-2 – 使用’class(或其他保留关键字
- asp.net – 不支持每种类型的多个对象集.对象集’
- asp.net – 自动将视频格式转换为Flash Video
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录
- asp.net-mvc-4 – 在EF迁移配置类的Seed方法中获
- 2008-10-30 15:28
- asp.net-web-api – ExtensionlessUrlHandler和“
- asp.net – 通过使用JQuery调用Web服务可能存在哪
- ASP.NET MVC默认项目结构和脚本文件夹
- asp.net html控件的File控件实现多文件上传实例分
热点阅读
