我想通过布局和我的方式显示所有页面的类别: 这里我的模型(NewsCategoriesModel) using System;using System.Collections.Generic;using System.ComponentModel;using System.ComponentModel.DataAnnotations;using System.Globa
这里我的模型(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) {您需要将部分视图所需的模型传递给它.如.
@Html.Partial("_NewsCategories", Model.NewsItems);
如果您退出模型,则只需将当前视图模型传递给部分模型.您也可以使用ViewBag.
如果您从主页/布局页面调用Partial,则不太可能在每个页面上都有您的模型.所以在这种情况下,最好创建一个控制器/动作,将您的新闻项模型返回到局部视图,然后用…调用
@Html.Action("NewsCategories", "NewsController");
然后,它将运行指定的操作并显示操作调用的局部视图.