Привет, ребята, у меня есть этот вызов JQuery Ajax с моей точки зрения, и он выглядит так:
$("select#Colors").change(function() {
var color = $("#Colors > option:selected").attr("value");
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "FindProducts/" + color,
data: "{}",
dataType: "json",
success: function(data) {
.....
}
});
});
И вот метод действия в моем HomeController
public JsonResult FindProductsByColorID(string color)
{
// List of Products
List<Product> productList = new List<Product>{
new Product{......}
};
// return Json result using LINQ to SQL
return new JsonResult
{
Data = (from p in productList
where p.Color == color
select p).ToArray<Product>()
};
}
Моя цель здесьчтобы вызвать метод FindProductsByColorID используя JQuery.ajax.и поскольку имя немного длинное, я зарегистрировал URL в таблицу маршрутизации global.asax.
routes.MapRoute(
"FindProducts",
"FindProducts/{color}",
new { controller = "Home", action = "FindProductsByColorID", color = ""}
);
По некоторым причинам маршрутизация не произошла во время вызова ajax, когда я тестировал его в Firebug, URL показывает Localhost / Home / FindProducts / Red.Конечно, результаты не удалось загрузить, потому что в домашнем контроллере нет метода FindProducts.я сделал что-то не так с маршрутизацией или что-то?потому что когда я проверял это на новом новом проекте, он работал просто отлично, но когда я делал это на моем текущем проекте, он просто терпел неудачу.Любое решение будет очень цениться!