0

コードのこの部分を使用して、Entity Framework を使用してデータベースから情報を取得し、そのすべてを IEnumerable プロパティに追加して、最後に DropDownListFor を表示します。そういうコードは何度も使う必要があるので、最初から最強にしておきたいです。

public IEnumerable<SelectListItem> Functions { get
    {
        List<SelectListItem> result = new List<SelectListItem>();
        using (followupconsultantEntities dataModel = new followupconsultantEntities())
        {
            var myEvents = from e in dataModel.functions
                           select e;
            foreach (var function in myEvents)
            {
                SelectListItem myList = new SelectListItem
                                            {
                                                Value = function.ID_Function.ToString(CultureInfo.InvariantCulture),
                                                Text = function.FU_Name
                                            };
                result.Add(myList);
            }
        }
        return result;
    } }

手伝ってくれてありがとう

景色:

<div class="editor-field">
<%: Html.DropDownListFor(m => m.SelectedFunction,Model.Functions) %>
</div>

詳細については、私のコントローラー:

public ActionResult Register()
    {
        ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
        return View(new RegisterModel());
    }
4

2 に答える 2

1

これを試して。このコードでは、必要のないデータベース データは取得しません。

public IEnumerable<SelectListItem> Functions { get
{
    using (followupconsultantEntities dataModel = new followupconsultantEntities())
    {
        return new SelectList(dataModel.functions.Select(f=>
               new 
               {
                   Value = function.ID_Function.ToString(CultureInfo.InvariantCulture),
                   Text = function.FU_Name
               })
               .ToArray(), "Value", "Text");
   }

}

于 2012-09-06T10:09:01.137 に答える
1

System.Web.Mvc.SelectListの使用を開始します。

public IEnumerable<SelectListItem> Functions { get
{
    using (followupconsultantEntities dataModel = new followupconsultantEntities())
    {
        return new SelectList(dataModel.functions.ToArray(), "ID_Function", "FU_Name");
    }
}

AutoMapperも検討してください。

于 2012-09-06T09:25:41.723 に答える