"Модель" конфликтует с объявлением "System.Web.Mvc.WebViewPage <TModel>.Model

У меня есть представление для отображения ниже объекта Customer.

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));
}

И, наконец, View Is,

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

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

Все кажется прекрасным. Но я получаю конфликты "Model" с объявлением "System.Web.Mvc.WebViewPage.Model" в @Html.Partial( "Адрес", "Модель" ). Я сделал то же самое раньше во многих проектах и ​​не получил проблема.

У меня нет никаких оснований для дальнейшего продолжения.

Может ли кто-нибудь помочь мне решить эту проблему.

Я видел много сообщений об этой ошибке. Но это были не с @Html.Partial().

Спасибо и с уважением,

Saravanakumar R.

Ответ 1

Я решил проблему.. Спасибо за зрителей.

Проблема была в моем представлении. Я использовал где-то Model = > Model. Его должна быть модель = > модель.

Ответ 2

Model имеет тип Customer, а не тип Address в частичном. Вам нужно изменить тип модели в Address.cshtml на Address и изменить вызов частичного прохождения в свойстве 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