Bor*_*ens 31 .net c# asp.net-mvc selectlist
我是否认为在创建C#类SelectList后无法设置所选值?这不是有点傻吗?
awr*_*ley 19
我认为你正在与框架作斗争.进入视图的数据应在最后可能的分钟(LPM)中创建.
以这种方式思考,a SelectList是一种提供DropDownListHTML帮助程序的类型.在您决定如何处理数据时,它不是存储数据的地方.
更好的解决方案是将数据检索到a中List<T>,然后SelectList在需要时初始化(s).这种做法的直接好处是它允许您重复使用List<T>多个DropDownList,例如:
Country of birth
Country of residence
Run Code Online (Sandbox Code Playgroud)
这些SelectLists都使用了国家类型列表List<Country>.
您可以List<T>在此示例中使用"最后一分钟":
public class TaxCheatsFormViewModel
{
private List<Country> countries { get; set; }
public TaxCheat Cheat { get; private set; }
public SelectList CountryOfBirth { get; private set; }
public SelectList CountryOfResidence { get; private set; }
public SelectList CountryOfDomicile { get; private set; }
public TaxCheatsFormViewModel(TaxCheat baddie)
{
TaxCheat = baddie;
countries = TaxCheatRepository.GetList<Country>();
CountryOfBirth = new SelectList(countries, baddie.COB);
CountryOfResidence = new SelectList(countries, baddie.COR);
CountryOfDomicile = new SelectList(countries, baddie.COD);
}
}
Run Code Online (Sandbox Code Playgroud)
关键在于你应该将数据保存在List<T>真正需要输出的状态; 最后一分钟(LPM).