输出对象列表以验证集合

时间:2016-08-17 18:49:00

标签: c# asp.net list asp.net-web-api

我试图制作一组对象,在这种情况下" AuditPoint"我想验证列表包含我期望它的对象。我已经尝试过标准

@foreach (var item in Model)
{
    <p>@Html.DisplayFor(m => item)</p>
}

通常建议这种情况,但我无法显示我的列表。我真的想仔细检查我的列表中的内容,因为我在我的前任之后接受了这个项目,所以我迷失了他的代码背后的许多逻辑。因此,尽可能多地输出以查看我正在做的事总是很好但有时由于他的程序错综复杂而很困难我发现很难将我的C#逻辑连接到web逻辑(包括html,javascript,typescript) ,jquery,小胡子,我确信还有很多其他我尚未找到的框架。)

以下是我制作我的收藏品的地方,我认为这是正确的,但如果你能看到任何明显错误的东西,请指出。我想我会把它包括在内,因为它有助于任何人的解决方案。

[HttpPost]
[Route("api/auditpoints")]
public void Post([FromBody]AuditPoint auditPoint)
{
    AuditPoints auditPoints = new AuditPoints();
    auditPoints.Add(auditPoint);
    auditPoints.Save();
    //These are my additions below
    List<AuditPoint> autoPoints = new List<AuditPoint>();
    if (auditPoint.Automated == true)
    {
        autoPoints.Add(auditPoint);
    }
}

2 个答案:

答案 0 :(得分:0)

尝试这样的事情,

List<AuditPoint> autoPoints = new List<AuditPoint>();

 [HttpPost]
    [Route("api/auditpoints")]
    public void Post([FromBody]AuditPoint auditPoint)
    {
        AuditPoints auditPoints = new AuditPoints();
        auditPoints.Add(auditPoint);
        auditPoints.Save();

        ListAutoPoints(auditPoint);
    }

    public void ListAutoPoints(AuditPoint _autoPoint) {

                if (auditPoint.Automated == true)
        {
            autoPoints.Add(auditPoint);
        }


    }

我认为项目的列表需要与Post逻辑分开,然后在控制器中调用现有的或新的Post方法。

另外,我认为,该模型需要用于填充列表......

@Model IEnumerable<namespace.Models.AutoPoint>
@foreach (var item in Model)
{
    <div>
     <ul>
       <li>@Html.DisplayNameFor(model => model.AutoPoint)</li>
     </ul>            
    </div>
}

模型应该适合这样的事情,

[Table("AuditPoints")
public class AuditPoint
{
   [Key]
   public AuditPointID { get; set;}
   public List<AutoPoint> AutoPoints { get; set;}

} 

public class AutoPoint
{
   public AutoPointID { get; set; }
   public Name { get; set; }
}

这里的类似答案:Display List in a View MVC

答案 1 :(得分:0)

这不是我在这里发布的问题的直接答案,但我确实解决了这个问题与我的项目有关的问题,所以我不再寻求答案了。