Asp.net mvc 5 MVC 5用于选择项目的下拉列表

Asp.net mvc 5 MVC 5用于选择项目的下拉列表,asp.net-mvc-5,html.dropdownlistfor,asp.net-mvc-views,Asp.net Mvc 5,Html.dropdownlistfor,Asp.net Mvc Views,我正在编写一个MVC5 internet应用程序,在尝试显示从ViewModel填充的模型属性的下拉列表时出错 以下是我的创建操作结果: List<System.Web.Mvc.SelectListItem> blobs = new List<System.Web.Mvc.SelectListItem>(); foreach (var blobItem in blobContainer.ListBlobs()) { System.Web.Mvc.SelectLis

我正在编写一个MVC5 internet应用程序,在尝试显示从ViewModel填充的模型属性的下拉列表时出错

以下是我的创建操作结果:

List<System.Web.Mvc.SelectListItem> blobs = new List<System.Web.Mvc.SelectListItem>();
foreach (var blobItem in blobContainer.ListBlobs())
{
    System.Web.Mvc.SelectListItem selectListItem = new System.Web.Mvc.SelectListItem();
    selectListItem.Value = blobItem.Uri.ToString();
    selectListItem.Text = blobItem.Uri.ToString();
    blobs.Add(selectListItem);
}
AssetViewModel assetViewModel = new AssetViewModel();
assetViewModel.fileNames = blobs;
第行:

@Html.DropDownListFor(m => m.asset.webAddress, new SelectList(Model.fileNames, "Value", "Text"), "  -----Select List-----  ")
我能帮点忙吗

提前谢谢

编辑

public class AssetViewModel
{
    public Asset asset { get; set; }
    public List<SelectListItem> fileNames { get; set; }

    public AssetViewModel(Asset asset)
    {
        this.asset = asset;
    }

    public AssetViewModel()
    {

    }
}
公共类AssetViewModel
{
公共资产{get;set;}
公共列表文件名{get;set;}
公共资产视图模型(资产)
{
这个资产=资产;
}
公共资产视图模型()
{
}
}

您的模型资产属性
m.asset
为空。 看起来您想要实现这样的功能

<div class="form-group">
    @Html.LabelFor(model => model.webAddress, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownListFor(m => m.webAddress, new SelectList(Model.fileNames, "Value", "Text"), "  -----Select List-----  ")
        @Html.ValidationMessageFor(model => model.webAddress)
    </div>
</div>

@LabelFor(model=>model.webAddress,htmlAttributes:new{@class=“controllabel col-md-2”})
@Html.DropDownListFor(m=>m.webAddress,新选择列表(Model.fileNames,“Value”,“Text”),“----选择列表------”)
@Html.ValidationMessageFor(model=>model.webAddress)

您的
DDLFor
语法看起来与我使用的不同

@Html.DropDownListFor(x => x.LeagueId, Model.TeamSL, new { id = "ddlTeam" })

我不确定m.asset.WebAddress是什么,正如其他人所说,这可能是错误的一部分

我怀疑模型的
asset
属性为空(您在上面的代码中似乎没有初始化它),您可以在您的视图中共享模型声明吗?谢谢。简单的错误是,我没有将ViewModel正确地传递给视图。
<div class="form-group">
    @Html.LabelFor(model => model.webAddress, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownListFor(m => m.webAddress, new SelectList(Model.fileNames, "Value", "Text"), "  -----Select List-----  ")
        @Html.ValidationMessageFor(model => model.webAddress)
    </div>
</div>
@Html.DropDownListFor(x => x.LeagueId, Model.TeamSL, new { id = "ddlTeam" })