Knockout CSS数据绑定不适用于Razor语法



不知道为什么以下Razor语法不能工作:

@Html.LabelFor(model => model.Description, new { @data_bind = "css: LabelCSS" })

如果我使用常规的HTML语法与属性绑定到knockout,它可以工作:

<span data-bind="attr: { 'class': LabelCSS }">Description</span>

My knockout ViewModel:

function ViewModel(dataFromServer) {
        var self = this;
        self.EnableDesc = ko.observable(dataFromServer.EnableDesc);
        self.LabelCSS = ko.computed(function () {
            return self.EnableDesc() ? "control-label" : "control-label-gray";
        }, self);
}

感谢mxmissile回答我的问题:

使用的语法是:

@Html。LabelFor(model => model)Description, new {data_bind = "attr: {'class': LabelCSS}"})

最新更新