1

Model.NewsItems と Model.Links にアクセスするには、2 つのオブジェクトをページに渡す必要があります (1 つ目は、見出し、コンテンツなどを含むニュース項目オブジェクトのクラスであり、Links は、システムが上か下。

これはページ宣言です

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"  
    Inherits="System.Web.Mvc.ViewPage<Tolling.Models.NewsItems>" %>

私が参照する場合Model.Items- 私は大丈夫です。ただし、私が参照する場合Model.HyperLink1、私はそうではありません。

複数のオブジェクトをページに渡すにはどうすればよいですか? 成功せずに両方の名前空間をインポートしようとしました-つまり

<%@ Import Namespace="Tolling.Models.News" %>
<%@ Import Namespace="Tolling.Models.HyperLinks" %>
4

2 に答える 2

1

両方のモデル コレクションを含む ViewModel クラスを作成し、それもビューに渡します。

サンプルコントローラー:

var myNewModel = new MyNewModel()
{ 
    NewsItems = new List<NewItem>(), 
    HyperLinks = new List<HyperLink>() 
}

return View(myNewModel);

ビューページの宣言:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"  
    Inherits="System.Web.Mvc.ViewPage<MyNewModel>" %>

次に、新しい ViewModels プロパティを使用して、ビューでそれらにアクセスできます。

<%= Model.NewsItems %>
<%= Model.Hyperlinks %>
于 2009-11-03T04:48:09.150 に答える
0

ViewData、TempData、Session、または Cache を使用して、追加のデータをビューに渡すことができます。ViewDataを使用することをお勧めします。MSDN で説明されているように:

コントローラーとビューの間で受け渡すデータを含むディクショナリを取得または設定します。

于 2009-11-03T04:39:29.950 に答える