Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 当属性名位于字符串中时,剑道UI(jquery)模板获取值_Javascript_C#_Asp.net_Kendo Ui - Fatal编程技术网

Javascript 当属性名位于字符串中时,剑道UI(jquery)模板获取值

Javascript 当属性名位于字符串中时,剑道UI(jquery)模板获取值,javascript,c#,asp.net,kendo-ui,Javascript,C#,Asp.net,Kendo Ui,我正在构建一个KendoGrid,它的列数可变,直到运行时才知道。我已经准备好了获取第一行数据并生成模式和列信息的代码,这些信息在网格连接之前被附加到剑道数据源。我还使用代理将列字段和显示名称注入模板 我很难处理的是不知道如何直接引用行数据,而不知道属性名称。我知道在一个普通的剑道模板中,你可以通过#=WorkItemId=来获取值本身,但是我正在寻找类似于#=model[item.field]#的东西,这样我就可以动态地提取值 这可能吗?我尝试了这个,但这又指向了我用$.proxy注入的值。我

我正在构建一个KendoGrid,它的列数可变,直到运行时才知道。我已经准备好了获取第一行数据并生成模式和列信息的代码,这些信息在网格连接之前被附加到剑道数据源。我还使用代理将列字段和显示名称注入模板

我很难处理的是不知道如何直接引用行数据,而不知道属性名称。我知道在一个普通的剑道模板中,你可以通过
#=WorkItemId=
来获取值本身,但是我正在寻找类似于
#=model[item.field]#
的东西,这样我就可以动态地提取值

这可能吗?我尝试了
这个
,但这又指向了我用$.proxy注入的值。我也试过
项目
型号
,等等。但似乎没有什么能满足我的需求

// kendo.datasource
for (i = 0; i < columns.length; ++i) {
    // add template to the cell
    columns[i].template = $.proxy(
        kendo.template($('#QueueTemplate_Default').html()),
        {
            columnName: columns[i].title,
            fieldName: columns[i].field
        }
    );
}

// cell template
<script id="QueueTemplate_Default" type="text/x-kendo-template">
    #= {{model/this/something}}[item.columnName] #
</script>

// example schema that comes back from the controller
{
"schema": {
    "data": "Data",
    "total": "Total",
    "model": {
        "id": "WorkItemId",
        "field": {
            "WorkItemId": {
                "editable": false,
                "type": "number"
            },
            "WorkItem": {
                "editable": false,
                "type": "string"
            },
            // edited for brevity
        }
    }
},
"columns": [
    {
        "field": "WorkItemId",
        "title": "Work Item Id",
        "template": null
    },
    {
        "field": "WorkItem",
        "title": "Work Item",
        "template": null
    },
    // edited for brevity
]
}
//kendo.datasource
对于(i=0;i
在模板中,您有
数据
对象。事实上,您只能通过名称来访问所有属性,例如
#=PropertyA#
,因为代码被包装到带有(data){…}()语句的
中。因此,执行
#=PropertyA#
#=data.PropertyA#
相同。请注意,这是过时的

例如:


无标题
让数据={
propertyName:“myProperty”,
myProperty:'myValue'
};
log(kendo.template(“#=data[data.propertyName]#”)数据);

在模板中,您有
数据
对象。事实上,您只能通过名称来访问所有属性,例如
#=PropertyA#
,因为代码被包装到带有(data){…}
()语句的
中。因此,执行
#=PropertyA#
#=data.PropertyA#
相同。请注意,这是过时的

例如:


无标题
让数据={
propertyName:“myProperty”,
myProperty:'myValue'
};
log(kendo.template(“#=data[data.propertyName]#”)数据);

这绝对奏效了!我尝试了几十种方法来引用剑道数据本身,但绝不仅仅是
数据
!谢谢大家!@DanChampagne当你遇到这样的情况时,试着检查一下他们的源代码,有时可能会有所帮助。这绝对奏效了!我尝试了几十种方法来引用剑道数据本身,但绝不仅仅是
数据
!谢谢大家!@DanChampagne当你遇到这样的情况时,试着检查一下他们的源代码,有时可能会有所帮助。