私はMVCにかなり慣れていません。データベースから取得した通貨をドロップダウンリストに入力しようとしています。私は何を間違っていますか?
@model IEnumerable<DSABankSolution.Models.ExchangeRates>
@{
ViewBag.Title = "Exchange Rates";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<br /> <br />
<input type="text" size="5" value="1" />
@Html.DropDownList("currency", Model.Select(p => new SelectListItem{ Text = p.Name, Value = p.ID}))
to
@Html.DropDownList("currency", Model.Select(p => new SelectListItem { Text = p.Name, Value = p.ID }));
<br /> <br /> <input type="submit" name="Convert" />
為替レート モデル:
public class ExchangeRates
{
public string ID { get; set; }
public string Name { get; set; }
}
為替レート コントローラー:
public ActionResult Index()
{
IEnumerable<CommonLayer.Currency> currency = CurrencyRepository.Instance.getAllCurrencies().ToList();
//ViewBag.CurrencyID = new SelectList(currency, "ID");
//ViewBag.Currency = new SelectList(currency, "Name");
return View(currency);
}
通貨リポジトリ:
public List<CommonLayer.Currency> getAllCurrencies()
{
var query = from curr
in this.Entity.Currencies
select curr;
return query.ToList();
}
私が得ているエラー:
ディクショナリに渡されたモデル アイテムのタイプは「System.Collections.Generic.List
1[CommonLayer.Currency]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[DSABankSolution.Models.ExchangeRates]」です。
ありがとう!