在剑道下拉列表上显示未定义的单词的问题

时间:2013-09-10 03:17:31

标签: asp.net-mvc-3 kendo-ui

即时通讯在我的kendodropdownlist上有问题...每当我在其上添加一个optionlabel时,它总是会显示未定义的字段..如何摆脱我的下拉列表中的undefined ...下拉列表的功能正常“undefine”这个词真让我烦恼。

这是我的代码:

<input id="ddlWorker" name="ddlWorker" class:"validate[required] inputLong" style="width: 400px;" value="@workerPosId"  />

$("#ddlWorker").kendoDropDownList({
            dataTextField: "workerName",
            dataValueField: "workerID",
            autoBind: false,

            optionLabel: {
                workerName: "-- Select An Option --",
                workerID: ""

    },
            // define custom template
            template:
                                      '<h5>${ data.workerName }</h5>' +
            //                                      '<p>${ data.workerID }</p>' +
                                      '<p>${ data.AvailableDay_LookID }</p>' +
                                      '<p>${ data.StartTime } - ${ data.EndTime }</p>',

            dataSource: {
                transport: {
                    read: {
                        url: '/Client/LoadWorkerDropdownList?clientCusPosShiftId=' + clientCusPosShiftId,
                        dataType: "json",
                        type: "POST"
                    }
                }
            }

        });

        var dropdownlist = $("#ddlWorker").data("kendoDropDownList");

感谢

1 个答案:

答案 0 :(得分:1)

这是因为它会提供您的optionLabel对象:

{
    workerName: "-- Select An Option --",
    workerID: ""

}

进入template

'<h5>${ data.workerName }</h5>' +
'<p>${ data.AvailableDay_LookID }</p>' +
'<p>${ data.StartTime } - ${ data.EndTime }</p>'

所以它正在尝试打印对象上AvailableDay_LookIDStartTimeEndTime undefined的数据。

如果这些字段不存在,您可能希望跳过这些字段。试试模板:

'<h5>${ data.workerName }</h5>' +
'#if(data.AvailableDay_LookID) {#<p>${ data.AvailableDay_LookID }</p>#}#' +
'#if(data.StartTime && data.EndTime) {#<p>${ data.StartTime } - ${ data.EndTime }</p>#}#'