【发布时间】:2016-11-23 19:11:49
【问题描述】:
所以我只开发了一个简单的局部视图来处理在页面顶部显示消息。
然后我想在我的所有页面中使用该部分视图来处理信息、警告或错误消息。
我创建了一个登录页面,这是我第一次尝试这样做。
它给了我一个错误,说明我没有传入正确的类型。我不明白为什么它说我试图传入的字典类型是 Music.Accounts.ViewModels.Log 当它非常清楚地显示我开发一个变量时,我开发了一个变量,将父模型的属性分配给该变量,然后尝试将其作为我的模型传递给我的局部视图。
任何帮助将不胜感激:)
错误和代码如下
谢谢:)
渲染页面时出现系统错误
附加信息:传入字典的模型项是类型
'Music.Accounts.ViewModels.LogOn',但是这个字典需要一个模型项 'System.Collections.Generic.List`1 类型的
类
namespace MMLibrary.MMWeb.MessageHandling
{
public enum MessageTypes
{
TopSummary = 1
, BottomSummary = 2
, Error = 3
, Warning = 4
, Informational = 5
}
public struct Message
{
public string PropertyName;
public string MessageText;
public MessageTypes MessageType;
}
}
局部视图渲染
@using MMLibrary.MMWeb.MessageHandling
@model List<Message>
父视图渲染
@using Music.Accounts.ViewModels
@using MMLibrary.MMWeb.MessageHandling
@model LogOn
@{
Layout = "~/Views/Shared/_Layout.cshtml";
var DisplayMessages = Model.DisplayMessages;
}
@Html.Partial("~/Views/Shared/MessageDisplay.cshtml", DisplayMessages)
父视图的ViewModel
namespace Music.Accounts.ViewModels
{
public class LogOn
{
public string Email { get; set; }
public string Password { get; set; }
public bool RememberMe { get; set; }
public List<Message> DisplayMessages { get; set; }
}
}
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-partialview