Я пытаюсь получить доступ к простому маршруту ASP.NET MVC, но он выдает ошибку:
Словарь параметров содержит
пустая запись для параметра
isFoo ненулевого типа
'System.Boolean' для метода
«System.Web.Mvc.ActionResult
Transform (Boolean, System.String) 'в
.. бла-бла-бла.
Т.е.. логическое свойство не устанавливается ... это означает, что значение не передается.
Итак, у меня есть метод Action, называемый Transform (..), и он не принимает значения, HTTP-опубликованные в нем, с помощью jQuery. Это как мои опубликованные значения теряются: (
Сайт MVC - это стандартное ASP.NET MVC File-> New-> MVC Web Application. Ничего не изменилось, за исключением добавления нового класса контроллера. это все.
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
namespace WorldDomination.EbonHawk.Web.Controllers
{
public class AjaxController : Controller
{
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Transform(bool isFoo, string bar)
{
// blah....
return View();
}
}
}
и как это называется, используя jQuery ....
$.ajax({
type: "POST",
url: "/ajax/transform",
data: "isfoo=true&bar=" + $("#Bar").val(),
contentType: "application/json;",
dataType: "json",
success: function() { alert("it worked"); },
failure: function() { alert("Uh oh"); }
});
Когда я использую FireBug, это определенно показывает, что я пытаюсь отправить сообщение по URL. Кто-нибудь может помочь?