1

MVC と Razor を使用してプロジェクトを開始したところです。データベースからのデータをドロップダウンリストにバインドするときに問題が発生しました。以下のコードを参照してください。

特化モデル:

public class SpecializationModel
{
    [Display(Name = "SpecializationID")]
    public string SpecializationID { get; set; }

    [Display(Name = "SpecializationDescription")]
    public string SpecializationDescription { get; set; }

    public IEnumerable<SelectListItem> Items { get; set; }
    public int SelectedSpecializationID { get; set; }
}

コントローラ:

public ActionResult Physicians()
{
    SpecializationManager spec = new SpecializationManager();
    List<Specialization> SpecializationList = spec.GetAllSpecialization();

    var obj = new SpecializationModel();

    obj.Items = new[]
    {
        foreach(var x in SpecializationList)
        {
            new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription };
        }
    };

    return View(obj);
}

データベースからデータを抽出するための LINQ クエリを含むこのマネージャーがあります。コントローラーで問題が発生しました。foreachエラーは、次の構文のエラーポイントですInvalid expression term foreach

誰でも私を正しい方向に向けることができますか? どうもありがとう!

編集:

foreach 部分でエラーが発生することなく、このコードを使用できるようになりました (上記のコードと組み合わせた以下の投稿のおかげです)。ただし、最後の行を機能させることができないようです。暗黙のキャストに関するエラーが発生します。

var items = new List<SelectListItem>();
foreach (var x in SpecializationList)
{
    items.Add(new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription });
}

obj.Items = items.ToList();

私を助けてください。ありがとう :)

4

1 に答える 1

1

yopu は foreach をコンストラクターに入れることができません。試してください:

var items = new List<SelectListItem >();
foreach(var x in SpecializationList)
{
           items.add(new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription });
}

obj.Items = items;

編集済み

于 2012-06-27T13:05:53.580 に答える