Ядро ASP.NET - имя "JsonRequestBehavior" не существует в текущем контексте
В моем проекте ASP.NET Core (.NET Framework) я получаю над ошибкой мой следующий метод действия контроллера. Что мне может не хватать? Или, есть ли работа вокруг?:
public class ClientController : Controller
{
public ActionResult CountryLookup()
{
var countries = new List<SearchTypeAheadEntity>
{
new SearchTypeAheadEntity {ShortCode = "US", Name = "United States"},
new SearchTypeAheadEntity {ShortCode = "CA", Name = "Canada}
};
return Json(countries, JsonRequestBehavior.AllowGet);
}
}
ОБНОВЛЕНИЕ:
Обратите внимание на следующие комментарии @NateBarbettini ниже:
-
JsonRequestBehavior
устарел в ASP.NET Core 1.0.
- В принятом ответе от @Miguel ниже,
return type
метода действия does not
, в частности, должен быть типа JsonResult. ActionResult или IActionResult тоже работают.
Ответы
Ответ 1
Возврат данных в формате Json:
public class ClientController : Controller
{
public JsonResult CountryLookup()
{
var countries = new List<SearchTypeAheadEntity>
{
new SearchTypeAheadEntity {ShortCode = "US", Name = "United States"},
new SearchTypeAheadEntity {ShortCode = "CA", Name = "Canada}
};
return Json(countries);
}
}
Ответ 2
несколько раз вам нужно вернуть сообщение обратно в json, просто используйте результат json, как показано ниже, не нужно jsonrequestbehavior больше, ниже простого кода для использования
public ActionResult DeleteSelected([FromBody]List<string> ids)
{
try
{
if (ids != null && ids.Count > 0)
{
foreach (var id in ids)
{
bool done = new tblCodesVM().Delete(Convert.ToInt32(id));
}
return Json(new { success = true, responseText = "Deleted Scussefully" });
}
return Json(new { success = false, responseText = "Nothing Selected" });
}
catch (Exception dex)
{
return Json(new { success = false, responseText = dex.Message });
}
}