0

こんにちは、従業員の詳細を含むテーブルがあります。これは、テーブルから必要な列を取得するための私のlinqクエリです...今、このデータをドロップダウンにバインドしたいのですが、どうすればよいですか

 var EmployeeDetails = db.EmployeeDetails.ToList<EmployeeDetail>().Select(e => new
        {
           id=e.EmployeId,
          Name = e.EmployeeName
        }).ToList(); 

これは私のコントローラーです

  public ActionResult Index()
    {                       
        return View();
    }
4

2 に答える 2

0

ビューにモデルを渡す必要があります。この方法でのみ、データをドロップダウンリストにバインドできます。この記事を見てください。

于 2012-08-24T12:00:12.667 に答える
0

あなたは本当にViewModelを使うべきです..

だから、このようなもの..

従業員の詳細 DTO:

public class EmployeeDetails 
{
    public int Id {get;set;}
    public string Name {get;set;}
}

モデルを次のように表示します。

public class EmployeeViewModel
{
    public EmployeeDetails EmployeeDetails {get;set;}
}

アクションは次のようになります。

public ActionResult Index()
{                       
    //Setup a viewmodel
    var viewModel = new EmployeeViewModel();
    viewModel.EmployeeDetails = //your query to get employee details
    return View(viewModel);
}

次に、ビューで次のようなことを行うことができます。

@model {fullnamespace}.EmployeeViewModel

<select>
    <option> --- Select Option --- </option>
@foreach (var employeeDetail in Model.EmployeeDetails)
{
    <option value="@employeeDetail.Id">@employeeDetail.Name</option>
}
</select>
于 2012-08-24T12:26:05.673 に答える