良い一日のコントローラに私はそうのようなドロップダウンリスト持っている私の見解では
をドロップダウン項目を選択します。更新
<div class="form-group row">
@Html.LabelFor(model => model.Colour, new { @class = "col-lg-2 col-md-2 col-sm-2 col-xs-2" })
<div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
@Html.DropDownListFor(model => model.Colour, new SelectList(Model.VehicleColour, "Value", "Text", Model.Colour), new { id = "Colour", @class = "btn dropdown-toggle btn-default" })
</div>
</div>
を。特定の条件では、選択した項目をコントローラに設定する必要があります。現在、私はそうのようにそれをすることによってこれを達成しようとしています(しかし、これは動作していない):
[HttpPost]
public ActionResult VehicleDetails(VehicleDisplay model)
{
// This section depends on the condition and it gets the item id that I need
// to select in the dropdown
if (Session["ColourID"] != null)
{
model.Colour = long.Parse(Session["ColourID"].ToString());
}
#endIf
model.VehicleColour = GetVehicleColour();
foreach (SelectListItem colour in model.VehicleColour)
{
if (colour.Value == model.Colour.ToString())
{
colour.Selected = true;
}
else
{
colour.Selected = false;
}
}
return PartialView("VehicleDetails", model);
}
GetVehicleColour()
private IEnumerable<SelectListItem> GetVehicleColour()
{
var colours = new List<SelectListItem>();
var colour = new SelectListItem()
{
Value = "0",
Text = "Please select a Vehicle Colour",
Selected = true
};
/* Get Colour values fron database */
foreach (ColorObject method in dbList)
{
colour = new SelectListItem()
{
Value = method.Id.ToString(),
Text = method.Description,
Selected = false
};
colours.Add(colour);
}
return colours;
}
VehicleModel
[Required]
[Display(Name = "Colour ")]
[Range(1, long.MaxValue, ErrorMessage = "Please select a Vehicle Colour")]
public long? Colour { get; set; }
public IEnumerable<SelectListItem> VehicleColour { get; set; }
することができますあなたはこの問題で私を助けてください?
(その内部で新しい 'のIEnumerableを' '生成DropDownListFor()'メソッドでは無視)モデルプロパティにバインドするときSelectListItem' 'の' Selected'プロパティを設定しない点はありません。選択されているものを決定する 'Colour'の値 - オプションの値の1つと一致する場合、そのオプションが選択されます。 –
'SelectList'に' Vehicle Colourを選択してください 'オプションを追加しないでください - 'labelOption'を受け入れるオーバーロードの1つを使用し、最初のものから2番目の同じ' SelectList'を生成するポイントはありません。ビューはちょうど '@ Html.DropDownListFor(m => m.Colour、Model.VehicleColour、"車色を選択してください "、新しい{@class =" btnドロップダウントグルbtn-default "})' –
です。 'Selected'プロパティを削除しましたが、選択した値はまだ選択されていません – ArnoDT