我想通过布局和我的方式显示所有页面的类别: 这里我的模型(NewsCategoriesModel)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
namespace GiaoXuKeSat.Models
{
public class NewsCategoriesModel
{
public int NewsCategoriesID { get; set; }
public string NewsCategoriesName { get; set; }
}
}
这里是Partialview(_NewsCategories)
@using System.Linq;
@using System.Linq;
@model IEnumerable<GiaoXuKeSat.Models.dms_NewsCategory>
@foreach (var item in Model) {
<ul id="dmsMenuULUL">
<li>@item.NewsCategoriesName</li>
</ul>
}
我将部分视图打印到布局
@Html.Partial("_NewsCategories");
但是我没有将Object引用设置为对象的实例。 在
@foreach (var item in Model) {
答案 0 :(得分:7)
您需要将部分视图所需的模型传递给它。如。
@Html.Partial("_NewsCategories", Model.NewsItems);
如果您退出模型,则只需将当前视图模型传递给部分模型。您也可以使用ViewBag。
如果您从主页面/布局页面调用Partial,则不太可能在每个页面上都有您的模型。所以在这种情况下,最好创建一个控制器/动作,将您的新闻项目模型返回到局部视图,然后调用...
@Html.Action("NewsCategories", "NewsController");
然后将运行指定的操作并显示操作调用的部分视图。