Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下拉列表未在剑道网格中填充_Javascript_C#_Jquery_Oop_Kendo Ui - Fatal编程技术网

Javascript 下拉列表未在剑道网格中填充

Javascript 下拉列表未在剑道网格中填充,javascript,c#,jquery,oop,kendo-ui,Javascript,C#,Jquery,Oop,Kendo Ui,我无法在剑道下拉列表中填充数据,数据来自数据库。以下是我的剑道代码下拉列表: function positionDropDownEditor(container, options) { $('<input name="Size" required data-bind="value:' + options.field + '"/>') .appendTo(container) .kendoDropDownList({ autoB

我无法在剑道下拉列表中填充数据,数据来自数据库。以下是我的剑道代码下拉列表:

function positionDropDownEditor(container, options) {
    $('<input name="Size" required data-bind="value:' + options.field + '"/>')
        .appendTo(container)
        .kendoDropDownList({
         autoBind: false,
         dataTextField: "Name",
         dataValueField: "Id",
           dataSource: {
                        transport: {
                            read: {
                                dataType: "json",
                                url: "/Employee/AllPosition",
                            }
                        }
                    } 
        });
}
函数位置下拉编辑器(容器、选项){
$('')
.appendTo(容器)
.kendoDropDownList({
自动绑定:错误,
dataTextField:“名称”,
dataValueField:“Id”,
数据源:{
运输:{
阅读:{
数据类型:“json”,
url:“/Employee/AllPosition”,
}
}
} 
});
}
以及数据来自的控制器:

public JsonResult AllPosition()
{
    EmployeeService employeeService = new EmployeeService();
    List<Position> positions= employeeService.GetAllPosition();
    return Json(positions);
}
public JsonResult AllPosition()
{
EmployeeService EmployeeService=新EmployeeService();
List positions=employeeService.GetAllPosition();
返回Json(位置);
}
在下拉列表中没有填充数据有什么问题?请解释包括“容器、选项”在内的内容,以及它们包含的价值,以及我们为什么需要使用它们

谢谢

您应该删除该标志

控制是否在初始化时将小部件绑定到数据源

编辑:

很抱歉,我完全忽略了它已经是
false
。无论如何

如果从服务器得到正确的响应,是否签入浏览器的调试器?可能是某些属性无法正确序列化,服务器返回null

将此方法添加到您的
Global.asax.cs
以捕获更多错误:它将打印在其他地方看不见的错误。。。如果错误在服务器上

protected void Application_EndRequest() {
    if (Context.AllErrors != null) {
        System.Diagnostics.Debugger.Break();
        foreach (var ex in Context.AllErrors) {
            System.Diagnostics.Debug.WriteLine(ex.Message);
        }
    }
} 

更改控制器以执行以下操作:

public JsonResult AllPosition()
{
    EmployeeService employeeService = new EmployeeService();
    List<Position> positions= employeeService.GetAllPosition();
    return Json(positions, JsonRequestBehavior.AllowGet);
}

经过一整天的努力,我解决了这个问题。我希望这能帮助其他人。真傻,花了我一整天的时间。最后我在AllPosition()中发现了问题。这里的返回类型将是sting。守则如下:

public string AllPosition()
    {
        EmployeeService employeeService = new EmployeeService();
        List<Position> positions= employeeService.GetAllPosition();
        var x = JsonConvert.SerializeObject(positions);      
        return x;
    }
公共字符串AllPosition()
{
EmployeeService EmployeeService=新EmployeeService();
List positions=employeeService.GetAllPosition();
var x=JsonConvert.SerializeObject(位置);
返回x;
}
不要问我为什么返回“JsonConvert.SerializeObject(positions)”而不是返回“json(positions)”。我必须将返回类型从JsonResult转换为字符串


谢谢大家的关心和帮助

作为您可以使用的替代方案


通过

将返回的JSON结果更改为允许GET@loanburger您是在谈论注释[HttpGet]还是返回类型?亲爱的@loanburger nopp,没有幸运伴侣。亲爱的@t3chb0t调试情绪会导致服务器500出错。看来json数据转换有问题。我正在尝试,但还没有解决。我建议您使用Json.NET来解决这个问题。我也有类似的问题,直到我使用了另一个框架,我才找到它。
 url: "@Url.Action("Employee", "AllPosition")",new {@area = "AreaName"} type: "GET" }
public string AllPosition()
    {
        EmployeeService employeeService = new EmployeeService();
        List<Position> positions= employeeService.GetAllPosition();
        var x = JsonConvert.SerializeObject(positions);      
        return x;
    }