私は RoR から来て、ASP.NET MVC 3 を初めて使用するので、MVC 設計パターンにある程度精通しています。
dropdownfor() で使用する選択リストを生成するメソッドを作成しました。
以下にあるものは機能しますが、より効率的にするか、少なくとも少ないコードで同じことを行うことができるかどうか疑問に思っていましたか?
ありがとう
public static IEnumerable<SelectListItem> GetDistanceUnits(string distanceUnit)
{
DistanceUnit MilesUnit = new DistanceUnit();
MilesUnit.OptionValue = "mi";
MilesUnit.OptionName = "Miles";
MilesUnit.OptionSelected = "";
DistanceUnit KilometersUnit = new DistanceUnit();
KilometersUnit.OptionValue = "km";
KilometersUnit.OptionName = "Kilometers";
KilometersUnit.OptionSelected = "";
var distanceUnitList = new List<SelectListItem>();
distanceUnitList.Add(new SelectListItem
{
Value = MilesUnit.OptionValue,
Text = MilesUnit.OptionName,
Selected = MilesUnit.OptionSelected == distanceUnit
});
distanceUnitList.Add(new SelectListItem
{
Value = KilometersUnit.OptionValue,
Text = KilometersUnit.OptionName,
Selected = KilometersUnit.OptionSelected == distanceUnit
});
return distanceUnitList.OrderByAscending(c => c.Text);
}