2017-10-26 12 views
0

アップロードされたドキュメントのリスト構造を表示するビューがあります。しかし、これはリストの代わりにドロップダウンリストを作成するために変更する必要があります。以下のコードはリストを作成しますMVCのドロップダウンリストで動的に値を作成して追加する

@foreach (var item in Model) 
{ 
    <tr> 
    <td>@Html.DisplayFor(modelItem => item.FileId)</td> 
    <td>@Html.DisplayFor(modelItem => item.FileName)</td> 
    <td>@Html.ActionLink("Download", "Download", new { id=item.FileId})</td> 
    </tr> 
} 

これはドロップダウンリストを作成するために変更する必要があります。どうすればできますか?

+0

あなたはドロップダウンリストに表示するには、正確に何をしたいですか? FileId?ファイル名?ダウンロードリンク? – DavidG

+0

表示されるファイル名のみです – user2877969

答えて

0

コレクションからドロップダウンリストをレンダリングする方法は複数あります。ここで

あなたはDropDownListヘルパー

@Html.DropDownList("MySelect",new SelectList(Model,"FileId","FileName")) 

でそれを行う方法。これは、名前とIDでSELECT要素をレンダリングしますです「MySelectと」に設定された値を属性とオプションのテキストがFileNameになり、値がされますFileId

0

このサンプルを使用できます。

@Html.DropDownListFor(model => model.FileId, model.FileItems.Select(x => new SelectListItem { Text = x.FileName, Value = x.FileId }) 
1

ます。また、ビュー、コントローラ

Public Actionresult HomeController() 
{ 
    // your code goes here 
    //create list of content you want to display on dropdown list 
    //you can pass it on 2 ways 1. with model pass and 2.is with viewbag 
    Viewbag.countryList = listofCountry; 

} 

ではこの

で使用することができます

モデル

<select> 
@foreach(var item in Model) 
{ 
<option value="@item.FileId">@ietm.FileName</option> 
} 
</select> 

と方法1方法2

<select> 
    @foreach(var item in Viewbag.countryList) 
    { 
      <option value="@item.FileId">@ietm.FileName</option> 
    } 
    </select> 
関連する問題