我正在尝试将angularJs(版本1.3.0)与kendo-asp.net.mvc(版本2015.1.429)一起使用。
我想知道是否可以使用AngularJs启用/禁用Kendo Razor助手DropDownList。
代码示例(我希望禁用kendo下拉列表“DdlTest”如果我从下拉列表“color”中选择值为“1”的第一个元素“Black”):
.cshtml页面
<div ng-app="myApp">
<div ng-controller="MainController">
<h4>Cap Color</h4>
@(Html.Kendo().DropDownList()
.Name("color")
.HtmlAttributes(new
{
ng_model="selectedField",
ng_change="changeField(kendoEvent)"
})
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "Black",
Value = "1"
},
new SelectListItem() {
Text = "Orange",
Value = "2"
}
})
)
<h4 style="margin-top: 2em;">Cap Size</h4>
@(Html.Kendo().DropDownList()
.Name("DdlTest")
.BindTo(new List<string>() {
"S - 6 3/4\"",
"M - 7 1/4\"",
"L - 7 1/8\"",
"XL - 7 5/8\""
})
)
</div>
</div>
这是AngularJs代码
<script>
var app = angular.module("myApp", ["kendo.directives"]);
app.controller("MainController", function($scope) {
$scope.selectedField = "0";
$scope.changeField = function(e) {
switch ($scope.selectedField) {
case '1':
$scope.DdlTest.enable(false);
break;
default:
$scope.DdlTest.enable(true);
break;
}
}
});
</script>
当我更改我收到的下拉列表的值时:
错误:$ scope.DdlTest未定义
我试图在下拉列表“DdlTest”的HtmlAttributes中插入值:
kendo_drop_down_list = "DdlTest"
但它在IE和Firefox上不起作用,它似乎只适用于Chrome。
问题
是否可以在Razor中使用带有kendo mvc组件的angularJs? 如果可能,我如何启用/禁用kendo下拉列表?