Вот мои маршруты в Global.asax
routes.MapRoute("PizzaGet", "pizza/{pizzaKey}", new { controller = "Pizza", action = "GetPizzaById" });
routes.MapRoute("DeletePizza", "pizza/{pizzaKey}", new { controller = "Pizza", action = "DeletePizza" });
Вот мои методы контроллера
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetPizzaById(long pizzaKey)
[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult DeletePizza(long pizzaKey)
Когда я делаю ПОЛУЧЕНИЕ, оно возвращает объект, но когда я делаю УДАЛЕНИЕ, я получаю 404. Кажется, что это должно работать, но это не делает.
Если я передвигаю два маршрута тогда, я могу сделать УДАЛЕНИЕ, но надеть 404 ПОЛУЧЕНИЕ.
Теперь это действительно красиво. Спасибо
routes.MapRoute("Pizza-GET","pizza/{pizzaKey}",
new { controller = "Pizza", action = "GetPizza"},
new { httpMethod = new HttpMethodConstraint(new string[]{"GET"})});
routes.MapRoute("Pizza-UPDATE", "pizza/{pizzaKey}",
new { controller = "Pizza", action = "UpdatePizza" },
new { httpMethod = new HttpMethodConstraint(new string[] { "PUT" }) });
routes.MapRoute("Pizza-DELETE", "pizza/{pizzaKey}",
new { controller = "Pizza", action = "DeletePizza" },
new { httpMethod = new HttpMethodConstraint(new string[] { "DELETE" }) });
routes.MapRoute("Pizza-ADD", "pizza/",
new { controller = "Pizza", action = "AddPizza" },
new { httpMethod = new HttpMethodConstraint(new string[] { "POST" }) });
У вас неправильный путь к файлу masonry.js.
вы используете js/jquery.masonry.js
, когда это должно быть JS/jquery.masonry.js
(capital JS)
, и у вас есть дополнительная запятая (,) в конце вариантов, которые вы передаете в кладку..
После того, как вы исправите эти ошибки в вашем примере, просто запустите код кладки снова, как Крио упомянул в своем ответе...
-121--4904086-Двоеточия играют особую роль в URL-адресах - например, для обозначения порта и поэтому «зарезервированы» ( см. здесь ).
URL-адреса используют некоторые символы для специальных используется при определении синтаксиса. Когда эти символы не используются в своих специальная роль внутри URL, они должны для кодирования
Таким образом, двоеточие должно быть удалено.
-121--4407546-Вы можете ограничить свои маршруты с помощью 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);
Теперь вы можете иметь оба маршрута, и они будут ограничены с помощью глаголов.
[ActionName("Pizza"), HttpPost]
public ActionResult Pizza_Post(int theParameter) { }
[ActionName("Pizza"), HttpGet]
public ActionResult Pizza_Get(int theParameter) { }
[ActionName("Pizza"), HttpHut]
public ActionResult Pizza_Hut(int theParameter) { }
.