& # 39;模型# 39;与声明'System.Web.Mvc.WebViewPage. mo

本文关键字:WebViewPage mo Mvc TModel 模型 声明 System Web | 更新日期: 2023-09-27 18:16:27

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

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

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

我不知道下一步该怎么办。

有人能帮我解决这个问题吗?

我看过很多关于这种错误的帖子。但是这些都不是@Html.Partial()。

谢谢,认为,

Saravanakumar r .

& # 39;模型# 39;与声明'System.Web.Mvc.WebViewPage<TModel>. mo

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

问题是在我看来,我正在使用某处模型=>模型。它应该是模型=>

部分中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