ASP.NET MVC将两个模型传递给详细信息视图

时间:2018-01-23 03:44:25

标签: c# asp.net model-view-controller controller models

这个问题可能已被回答了一百万次,但是,我花了三个多小时才能找到问题的答案。我试图将两个模型传递给我的详细信息视图,我无法理解我的详细信息控制器将返回的内容。

这些是我的模特:

public class Property
{
    public int PropertyID { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string ProvinceState { get; set; }
    public string ZipCode { get; set; } 
    public string Country { get; set; }

}

public class PropertySimilar {
    public IEnumerable<Property> Properties { get; set; }
    public Property CurrentProperty { get; set; }
}

这是我的控制者:

public ActionResult Details(int? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }

        Property property = db.Properties.Find(id);

        if (property == null)
        {
            return HttpNotFound();
        }
        return View(db.Properties.ToList());
    }

我正在尝试显示select属性,以及它下面的其他三个随机属性。

非常感谢任何指导。感谢。

1 个答案:

答案 0 :(得分:0)

在Neel和Tetsuya的帮助下,我能够解决我的问题。这是控制器应该是什么样子:

public ActionResult Details(int? id)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }

    var property = db.Properties.Find(id);

    if (property == null)
    {
        return HttpNotFound();
    }

    PropertySimilar pros = new PropertySimilar();
    pros.CurrentProperty = property;
    pros.Properties = db.Properties.ToList();

    return View(pros);
}