在MVC的下拉列表中动态创建和添加值

时间:2017-10-26 10:33:22

标签: .net asp.net-mvc razor

我有一个显示上传文档列表结构的视图。但是,这需要更改为创建下拉列表而不是列表。下面的代码创建列表

@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>
}

需要更改以创建下拉列表,我该怎么做?

3 个答案:

答案 0 :(得分: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;

}

  

在视野中    

Method1 with Model

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

方法2.

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

答案 1 :(得分:0)

有多种方法可以从集合中呈现下拉列表。

以下是使用>>> check([1, 2, 5, 8, 9]) True >>> check([9, 4, 7, 2, 5]) False >>> check([9, 8, 7, 6, 5]) False >>> check([9, 8]) False >>> check([1, 2, 3]) True 帮助

执行此操作的方法
DropDownList

这将呈现一个SELECT元素,其名称和Id属性值设置为“MySelect”,选项文本将为@Html.DropDownList("MySelect",new SelectList(Model,"FileId","FileName")) ,值将为FileName

答案 2 :(得分:0)

您可以使用此示例。

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