Jsonrequestbehavior.allowget在当前上下文中不存在 [英] Jsonrequestbehavior.allowget does not exist in current context

查看:338
本文介绍了Jsonrequestbehavior.allowget在当前上下文中不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I am using asp.net MVC core and I am going to read data from SQL in kendo drop-down list. I have installed Newtonsoft.Json library too. I see drop-down list but I can't load data in my drop-down list. my code is as below:

What I have tried:

<pre>my model is located in models>Airports.cs:







using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace plan_1.Models
{
public class Airport: BaseEntity  
   { 
    public int Id { get; set; }
    public string Iata { get; set; }
    public string Icao { get; set; }
    public string LogoUrl { get; set; }
    public int IsBased { get; set; }
    public int CityId { get; set; }
    public virtual City City { get; set; }

    public Airport()
    {
        this.Terminals = new 
          HashSet<Terminal>();
    }
     public ICollection<Terminal> Terminals 
     { get; set; }
   }
}







My controller is located in Controllers>planController.cs :







using System.Linq;
using Microsoft.AspNetCore.Mvc;
using plan_1.Models;
namespace plan_1.Controllers
{
 public class planController : Controller
 {        
    public ActionResult Index()
    {
        return View();
    }
    public JsonResult GetAirPort()
    {
      plan_1Context dbContext = new 
      plan_1Context();

        return 
        Json(dbContext.AirPorts.Select(O => 
        new { _Id = O.Id, Origin = O.Iata 
        }), 
     JsonRequestBehavior.AllowGet);
    }
  }
}







and my view located in views>plan>index.cshtml is as below:







@model IEnumerable<plan_1.Models.Airport>
@{
 ViewData["Title"] = "Planing";
 }

 <div>
    <h4>Origin:</h4>
    @(Html.Kendo().DropDownList()
                .Name("Origin")
                .HtmlAttributes(new { style 
    = "width:100%" })
                .OptionLabel("Select 
     category...")
                .DataTextField("Iata")
                .DataValueField("Id")
                .DataSource(source =>
                {
                    source.Read(read =>
                    {                  
read.Action("GetAirPorts", 
       "planController");
                    });
                })
    )
</div>
also, I should mix the airplane model by 
the plan model, I think I should use the 
view model to mix them.

Please help what should I do? It is days 
that I am looking for the answer

推荐答案

没有使用 JsonRequestBehavior .AllowGet 了。

只需使用

It's fine not to use JsonRequestBehavior.AllowGet anymore.
Just use
return Json(dbContext.AirPorts
	.Select(O => new { _Id = O.Id, Origin = O.Iata}));





是的,可以在视图模型中混合模型。


instead.
And yes it's fine to mix models inside view models.


这篇关于Jsonrequestbehavior.allowget在当前上下文中不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆