Asp.net mvc 4 在视图中显示目录列表
我尝试在视图中创建目录列表。我的模型是:Asp.net mvc 4 在视图中显示目录列表,asp.net-mvc-4,c#-4.0,entity-framework-5,Asp.net Mvc 4,C# 4.0,Entity Framework 5,我尝试在视图中创建目录列表。我的模型是: public class UploadModel { [Required] [Display(Name = "FormToUpload", ResourceType = typeof(Resources.Entity.Form))] public HttpPostedFileBase UploadData { get; set; } public string[] Director
public class UploadModel
{
[Required]
[Display(Name = "FormToUpload", ResourceType = typeof(Resources.Entity.Form))]
public HttpPostedFileBase UploadData { get; set; }
public string[] Directories { get; set; }
}
这是控制器:
[HttpGet]
public ActionResult UploadFile(string designId)
{
UploadModel model = new UploadModel();
string customerSchema = SfsHelpers.StateHelper.GetSchema();
TemplateLibraryEntry entry = GetTemplateLibraryEntry(designId, customerSchema);
var path = Path.Combine(Server.MapPath("~/"), entry.FilePath);
model.Directories = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
return View(model);
}
这是我的观点:
<div class="form-group">
@foreach (var item in Model.Directories )
{
@Html.CheckBoxFor(model => true, item)
@Html.LabelFor(model => model.Directories)
}
在视图中,我使用了新的UploadViewModel:@model SenecaFormsServer.Areas.Dashboard.Models.UploadViewModel
对于复选框:
<div class="form-group">
@foreach (var item in Model.Directories )
{
@Html.CheckBoxFor(model => true, item)
@Html.LabelFor(model => model.Directories)
}
</div>
但我仍然得到了错误:
模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式
如果我尝试我的观点:
<div class="form-group">
@foreach (var item in Model.Directories )
{
@*@Html.CheckBoxFor(model => true, item)*@
@Html.CheckBoxFor(m => m.Directories, new { @checked = "checked" });
@Html.LabelFor(model => model.Directories)
}
</div>
@foreach(Model.Directories中的var项)
{
@*@CheckBoxFor(model=>true,item)*@
@CheckBoxFor(m=>m.目录,新的{@checked=“checked”});
@LabelFor(model=>model.Directories)
}
我得到这个错误:
无法将类型“string[]”隐式转换为“bool”Thank you的可能重复项。我更新了我的帖子
[HttpGet]
public ActionResult UploadFile(string designId,UploadModel model)
{
UploadModel model = new UploadModel();
UploadViewModel uploadViewModel = new UploadViewModel(model);
string customerSchema = SfsHelpers.StateHelper.GetSchema();
TemplateLibraryEntry entry = GetTemplateLibraryEntry(designId, customerSchema);
var path = Path.Combine(Server.MapPath("~/"), entry.FilePath);
//model.Directories = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
uploadViewModel.Directories = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
return View(uploadViewModel);
}
<div class="form-group">
@foreach (var item in Model.Directories )
{
@*@Html.CheckBoxFor(model => true, item)*@
@Html.CheckBoxFor(m => m.Directories, new { @checked = "checked" });
@Html.LabelFor(model => model.Directories)
}
</div>