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' conflicts with the definition '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 に答える