0

私はasp.netmvc4のデフォルトインストールを作業/調整しています..いくつかのビューを追加しました..

モデルをビューに渡そうとすると、そのモデル(名前と名前空間)がページに書き出されます。

@Model Blah.Web.UI.Models.DirectoryModel
@{
    ViewBag.Title = "Directory";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

私が自分のページを見るとき、私は見る

Blah.Web.UI.Models.DirectoryModel Blah.Web.UI.Models.DirectoryModel

ページ上部に2回書きます。

私のコントローラーはモデルを初期化し、ビュー内に渡します。

また、これはform _layoutと呼ばれる@RenderBody()内で発生することに気づきました。したがって、私のビューのどこかで行われていると思います。

ビューのすべてのコードをコメントアウトしても(上記の宣言を受け入れます)、この文字列が書き出されているのがわかります。

4

1 に答える 1

5

変化する

@Model Blah.Web.UI.Models.DirectoryModel

@model Blah.Web.UI.Models.DirectoryModel

@model小文字のディレクティブmは、モデルのタイプをかみそりに伝えます。

一方@Model、大文字の場合は、ビューのプロパティをM呼び出して、応答に文字列を書き込みます。ToStringModel

それが理由です

 @Model Blah.Web.UI.Models.DirectoryModel

Ouptuts:Blah.Web.UI.Models.DirectoryModel Blah.Web.UI.Models.DirectoryModel

最初に、のとToStringModelの残りの部分をBlah.Web.UI.Models.DirectoryModelプレーンテキストとして書き込みます。

于 2012-11-10T21:03:46.763 に答える