12

我有一个视图来显示下面的客户对象。

public Class Customer
{
    public long Id { get; set; }
    public string Name { get; set; }
    public Address AddressInfo { get; set; }
}

public class Address 
{
    public string Details { get; set; }
    public City CityInfo { get; set; }
    public Region RegionInfo { get; set; }
}

并有一个控制器返回客户查看

public ActionResult GetCustomer(long Id)
{
    return View("Customer",GetCustomer(Id));
}

最后是视图,

[Customer.cshtml]
@model Customer;
Name: @Model.Name
Address Details: @Html.Partial("Address",Model)

[Address.cshtml]
@model Customer;
@Model.CityInfo.Name, @Model.RegionInfo.Name

一切似乎都很好。但是我在@Html.Partial("Address",Model) 上遇到“'Model' 与声明 'System.Web.Mvc.WebViewPage.Model” 错误我以前在许多项目中做过同样的事情,但没有得到问题。

我不知道进一步进行。

有人可以帮我解决这个问题。

我看过很多关于这种错误的帖子。但那些与@Html.Partial() 无关。

感谢和问候,

萨拉瓦纳库马尔·R。

4

2 回答 2

36

我已经解决了这个问题。。感谢观众。

问题是在我看来,我在某处使用Model => Model。它应该是model => model

于 2013-06-03T05:33:03.357 回答
0

在您的部分中Model是类型Customer而不是类型。Address您需要将模型类型更改Address.cshtmlAddress并更改对部分的调用以传递AddressInfo属性:

@Html.Partial("Address", Model.AddressInfo)

您的视图代码变为:

[Customer.cshtml]
@model Customer;
Name: @Model.Name
Address Details: @Html.Partial("Address",Model.AddressInfo)

[Address.cshtml]
@model Address;
@Model.CityInfo.Name, @Model.RegionInfo.Name
于 2013-06-01T14:14:28.290 回答