У меня Ajax-вызов для моего действия контроллера выглядит так:
var m = $.ajax({
mtype: "GET",
url: '@Url.Action("GetBrandForValidation")',
data: { actionparameter: value },
async: false,
cache: false
});
Как вы можете видеть, я возвращаю actionparametter моему контроллеру, и контроллер должен возвращать либо true, либо false, что должно быть моим значением "m", но я не могу заставить его работать. Есть идеи?
Код контроллера:
public virtual JsonResult GetBrandForValidation(string actionparameter)
{
var vendorId = _service.GetVendorIdByUsername(GetUserName());
bool k;
var brands = _service.GetBrandsByVendor(vendorId);
var brand = new BrandsViewModel();
brand.BrandName = "Opret ny Brand...";
brands.Add(brand);
foreach (var brandsViewModel in brands)
{
if (brandsViewModel.BrandName == "Intet")
{
brandsViewModel.BrandName = "";
}
}
var list = brands.Select(s => s.BrandName);
if (list.Contains(actionparameter))
{
k = true;
}
else
k = false;
return Json(k,JsonRequestBehavior.AllowGet);
}
И полный код функции:
var checkBrands = function(value, colname) {
var m = $.ajax({
mtype: "GET",
url: '@Url.Action("GetBrandForValidation")',
data: { actionparameter: value },
async: false,
cache: false
});
if (m == true)
return [true, ""];
else
return [false, "Brand eksistere ikke"];
};
Я довольно нов и очень хорош в javascript, так что не судите усердно