不知道为什么以下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}"})