Asp.net mvc .Net MVC和Kendo-基于所选选项有条件地绑定div

Asp.net mvc .Net MVC和Kendo-基于所选选项有条件地绑定div,asp.net-mvc,c#-4.0,knockout.js,Asp.net Mvc,C# 4.0,Knockout.js,我快到了 我想根据所选的值显示一个特定的div 例如,如果选择了selected value=“Option1”,则显示相应的div 我在数据绑定中尝试了以下操作: 数据绑定=“如果”selectedValue()=“选项1” 我能够成功地使用data bind=“visible”selectedValue进行切换,但两个div都显示出来。我想了解对象属性本身 代码如下: <select data-bind=", options: availableValues, optionsText:

我快到了

我想根据所选的值显示一个特定的div

例如,如果选择了selected value=“Option1”,则显示相应的div

我在数据绑定中尝试了以下操作:

数据绑定=“如果”selectedValue()=“选项1”

我能够成功地使用data bind=“visible”selectedValue进行切换,但两个div都显示出来。我想了解对象属性本身

代码如下:

<select data-bind=", options: availableValues, optionsText: 'Name', value: selectedValue, optionsCaption: 'Select One'"></select>

<div data-bind="if:selectedFieldType() === 'Option1' ">
        @Html.Partial("_Edit" + this.Model.Type)
</div>

<div data-bind="if:selectedFieldType() === 'Option2' ">
        @Html.Partial("_Add" + this.Model.Type)
</div>

$(function () {

        var testModel = {
            availableValues: ko.observableArray(@Html.Json(Model.SelectedValueOptions)),
            selectedValue: ko.observable(null))
        };

        testModel.value= ko.dependentObservable(function () {
            if (this.selectedValue()) {
                return this.selectedValue().Val;
            }
        }, testModel);

        var tryGetValue = $.grep(testModel.availableSelectedValues(), function (item) {
            return item.Val === '@Model.Value';
        })[0] || null;

        testModel.selectedValue(tryGetValue);

        ko.applyBindings(testModel, $('#general-section')[0]);
    });

@Html.Partial(“_Edit”+this.Model.Type)
@Html.Partial(“_Add”+this.Model.Type)
$(函数(){
var testModel={
AvailableValue:ko.observableArray(@Html.Json(Model.SelectedValueOptions)),
selectedValue:ko.可观察(空))
};
testModel.value=ko.DependentToServable(函数(){
if(this.selectedValue()){
返回此.selectedValue().Val;
}
},测试模型);
var tryGetValue=$.grep(testModel.availableSelectedValues(),函数(项){
返回项.Val=='@Model.Value';
})[0]| |空;
testModel.selectedValue(tryGetValue);
ko.applyBindings(testModel,$(“#概述部分”)[0]);
});

多亏了Artem的评论,我能够修复它-我引用的是if:value()…并且需要引用模型中引用的值,而不是绑定参数中使用的名称(例如testModel.value-value是我需要引用的值(在我的例子中是xyzType,而不是通用术语“value”)这在数据绑定选项中使用。

您的
可用值中的对象是什么样子的?您可能需要在您的选择中使用
选项值
,因为否则您的
selectedValue
将包含一个复杂对象,而不是字符串
选项1
选项2
。它可以工作-谢谢嗯,这就成功了!