Asp.net mvc 5 MVC 5用于选择项目的下拉列表
我正在编写一个MVC5 internet应用程序,在尝试显示从ViewModel填充的模型属性的下拉列表时出错 以下是我的创建操作结果: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
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" })