【发布时间】:2015-06-22 09:10:57
【问题描述】:
我有一个类,它有一个 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 的东西是我唯一的选择吗?
【问题讨论】:
标签: asp.net-mvc angularjs razor