c# - 遍历 C# MVC 中的列表并访问属性

标签 c# asp.net-mvc

我创建了一个接受 ProjectsCreatorsVM 类的 View 。该类的结构如下:

public class ProjectsCreatorsVM
{
    public List<ProjectVM> ProjectsCreators { get; set; }
    public ProjectsCreatorsVM(List<ProjectVM> projectsCreators)
    {
        ProjectsCreators = projectsCreators;
    }
}

此外,ProjectVM 遵循以下结构:

public class ProjectVM
{
    public Project Project { get; set; }
    public ApplicationUser ApplicationUser { get; set; }

    public  ProjectVM(Project pro, ApplicationUser applUser)
    {
        Project = pro;
        ApplicationUser = applUser;
    }
}

最后,我的观点尝试遍历 ProjectsCreators.Project 但似乎不可能。

<div class="card-content-container" >
        @foreach (Project obj in @Model.ProjectsCreators.)
        {
            <div class="card">
                <img class="card-img-top" src="@obj.ImgURL"  alt ="project image" >
                <div class="card-body d-flex flex-column">
                    <h5 class="card-title">@obj.Title</h5>
                    <h6 class="card-title">@obj.Title</h6>
                    <p class="card-text">
                        @obj.TruncatedDescription
                    </p>
                    <div class="mt-auto" style="display: flex; justify-content: space-between; align-items: center;">
                        <a href="/Customer/ProjectVisitor/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="34625d514364465b5e515740705140555d580b5d5009745b565e1a7d50" rel="noreferrer noopener nofollow">[email protected]</a>" class="btn btn-primary">View Details</a>
                    </div>
                </div>
            </div>

如果有任何帮助,我将不胜感激。提前致谢。

最佳答案

ProjectCreators 是一个列表,当您迭代 ProjectCreators 时,您会得到一个 ProjectVM 对象,而不是 ProjectApplicaionUser 实例。如果您想访问 Project 实例,请在 @obj 之后添加 Project,例如 @obj.Project.Title

<div class="card-content-container" >
    @foreach (ProjectVM obj in @Model.ProjectsCreators.)
    {
        <div class="card">
            <img class="card-img-top" src="@obj.Project.ImgURL"  alt ="project image" >
            <div class="card-body d-flex flex-column">
                <h5 class="card-title">@obj.Project.Title</h5>
                <h6 class="card-title">@obj.Project.Title</h6>
                <p class="card-text">
                        @obj.Project.TruncatedDescription
                </p>
                <div class="mt-auto" style="display: flex; justify-content: space-between; align-items: center;">
                    <a href="/Customer/ProjectVisitor/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="287e414d5f785a47424d4b5c6c4d5c49414417414c1568474a4206785a47424d4b5c06614c" rel="noreferrer noopener nofollow">[email protected]</a>" class="btn btn-primary">View Details</a>
                </div>
            </div>
        </div>
    }
</div>

关于c# - 遍历 C# MVC 中的列表并访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71911578/

相关文章:

c# - 如何在 C# 中的 <seealso> 标记中为方法重载创建 cref?

c# - EFCore 和 C# 中聚合之间的 DDD 和引用

javascript - 向 AJAX 请求返回一个空字符串

c# - SQLException (0x80131904) : Invalid object name 'dbo.Categories'

javascript - 使用 AJAX 将基于 JSON 的远程数据导入 Select2

javascript - 将 IEnumerable<int> 分配给隐藏的 for

c# - 从 HttpListenerRequest 获取表单数据

c# - System.Reflection.Emit - If 语句生成

c# - 通过 Linq 找到给定对象的 2 个邻居

asp.net-mvc - 我如何从 MVC3 Razor Controller 调用 web 服务?