【问题标题】:Displaying List values in column of Grid.Mvc control在 Grid.Mvc 控件的列中显示列表值
【发布时间】:2017-08-21 17:28:40
【问题描述】:

我正在使用 Grid.Mvc 控件,但无法在单个列中显示列表值。我正在使用以下代码。问题出现在“Documenten”列中。

@(Html
.Grid(Model.Candidates)
.Build(columns =>
{
    columns.Add(model => model.FullName).Titled("Name");
    columns.Add(model => model.Location).Titled("Locatie");
    columns.Add(model => model.Email).Titled("Contact").Encoded(false).RenderedAs(model => model.Email + "<br/>" + model.PhoneNumber);
    columns.Add(model => model.Notes).Titled("Notities");
    columns.Add(model => model.Status).Titled("Status");
    columns.Add(model => model.CandidateprofilesInGrid).Titled("Profiel(en)");
    columns.Add(model => model.Created.Date).Titled("Aangemaakt").Encoded(false).RenderedAs(model => model.Created.Day + "-" + model.Created.Month + "-" + model.Created.Year);
    columns.Add(model => model.Modified.Date).Titled("Gewijzigd").Encoded(false).RenderedAs(model => model.Modified.Day + "-" + model.Modified.Month + "-" + model.Modified.Year);
    columns.Add(model => model.Moderator).Titled("Door");
    columns.Add(model => model.Files).Titled("Documenten").Encoded(false).RenderedAs(model => model.Files.Any() ? model.Files.ForEach(file => Html.ActionLink(file.Name, "File", new { id = file.Id })): "?");

    columns.Add(model => model.Id).Titled("").Filterable(false).Encoded(false).RenderedAs(model => Html.ActionLink("edit", "Edit", new { id = model.Id }));
    columns.Add(model => model.Id).Titled("").Filterable(false).Encoded(false).RenderedAs(model => Html.ActionLink("delete", "Delete", new { id = model.Id }, new { onclick = "return confirm('Weet u zeker dat u " + model.FirstName + " wilt verwijderen?');" }));
})
.Filterable()
.Pageable()
.Sortable()
.Empty("Geen gegevens gevonden")

)

模型包含一个名为“Files”(列表)的变量,其中文件类由 Id(Guid)和 Name(字符串)组成。我需要 Actionlink 中的这些值来显示文件名和 Id 以下载文件。是否可以在 Grid.Mvc 控件 (http://mvc6-grid.azurewebsites.net) 中执行此操作?

我正在使用的模型:

public class ListCandidateViewModel
{
    public IEnumerable<CandidateViewModel> Candidates { get; set; }

    public IEnumerable<FunctionalProfile> FunctionalProfiles { get; set; }
}

 public class CandidateViewModel
{
    public CandidateViewModel()
    {
        Files = new List<File>();
    }

    public Guid Id { get; set; }
    public DateTime Created { get; set; }
    public DateTime Modified { get; set; }
    public string Moderator { get; set; }
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    public string Schooling { get; set; }
    public int FinishingYear { get; set; }
    public string Location { get; set; }
    public string PhoneNumber { get; set; }
    public string Email { get; set; }
    public string Status { get; set; }
    public string Notes { get; set; }
    public string FullName { get; set; }
    public string CandidateprofilesInGrid { get; set; }
    public List<File> Files { get; set; }
}

public class File
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string ContentType { get; set; }
    public byte[] Content { get; set; }

    public virtual ICollection<CandidateFile> CandidateFiles { get; set; }
}

}

感谢您的帮助。

【问题讨论】:

    标签: asp.net-mvc grid.mvc


    【解决方案1】:

    文件是列表,因此您不能像属性一样使用它。

    文件列表可以使用http://mvc6-grid.azurewebsites.net/Grid/Partial

    【讨论】:

      猜你喜欢
      • 2016-11-17
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      相关资源
      最近更新 更多