1

モデル:

public partial class BookModel : BaseNopEntityModel, 
               ILocalizedModel<BookLocalizedModel>
{
   public int TranslatorId { get; set; }
   public IList<SelectListItem> AvailableTranslators { get; set; }
}

コントローラ:

public ActionResult Edit(int id)
{

    var bookTranslators = _customerService.GetAllTranslators();
    foreach (var item in bookTranslators)
    {
        model.AvailableTranslators.Add(new SelectListItem()
        {
            Text = item.Nickname,
            Value = item.Id.ToString(),
            Selected = item.Nickname == model.Translator
         });
    }   
    return View(model);
}

Model.AvailableTranslators には、selected = true のアイテムが 1 つありますが、ビューでデフォルト値として表示できませんでした。私は何を間違っていますか?

selectedItem をデフォルト値として表示するにはどうすればよいですか?

意見:

@model BookModel 
@Html.DropDownListFor(model => model.TranslatorId, Model.AvailableTranslators)

更新: データ型 TranslatorId を文字列に変更しました

public string TranslatorId { get; set; }

ドロップダウンリストに正しいデフォルト値が表示されるようになりましたが、理由がわかりませんか?

4

1 に答える 1