我有一个具有MVC SelectList的类和一个指示所选值的int。
public class SampleClass {
public SelectList ServicesAvailable {get; set;}
public int ServiceIdSelected {get; set;}
public SampleClass() {}
}
当您转到页面编辑项目时,您希望选择先前选择的项目。使用razor @ Html.DropDownListFor(...)这绝对没问题。但是,这个页面使用的是Angular,所以我正在使用:
<select style="width:40%;" chosen data-placeholder="Select a method"
no-results-text="'No service found'" ng-model="ServiceIdSelected"
ng-options="item.Value as item.Text for item in ServicesAvailable">
<option value=""></option>
</select>
使用此Angular注释永远不会选择初始项目。我只能认为这是因为MVC SelectList的Value和Text属性都是字符串,Angular在后台执行类似ServiceIdSelected === item.Value的操作,因为一个是字符串,另一个是int,它是总是假的。
还有其他人遇到过这个问题吗?如果是这样,你是如何解决它的?我唯一的选择是将SelectList属性更改为List&lt;&gt;什么?
答案 0 :(得分:0)
你可以查看这个小提琴,也许这可以帮助你。
<select
ng-model="Choice.SelectedOption"
ng-options="choice.Name for choice in Choice.Options track by choice.ID"></select>
干杯克里斯托弗,