使用局部视图时为空模型

网络开发狼

我有一个个人资料页面,在里面有一个局部视图,其中列出了用户在网站上创建的用户项目。我已经使用代码优先开发设置了整个站点,并具有一个测试上下文初始化程序,该初始化程序使用几个用户和几个项目填充数据库。用户部分工作正常,但项目不会显示在局部视图上-调试时,我发现“小说”(项目)模型为空,尽管有数据要填充。

这是我的小说模型:

public class Novel
    {
        public Int32 NovelId { get; set; }

        [Display(Name = @"Working Title")]
        [Required(ErrorMessageResourceType = typeof (Resource.Novel), ErrorMessageResourceName = "TitleRequired")]
        public string Title { get; set; }

        [Display(Name = @"Category")]
        [Required(ErrorMessageResourceType = typeof (Resource.Novel), ErrorMessageResourceName = "GenreRequired")]
        public string Genre { get; set; }

        [Display(Name = @"Outline")]
        [DataType(DataType.MultilineText)]
        [Required(ErrorMessageResourceType = typeof (Resource.Novel), ErrorMessageResourceName = "AbstractRequired")]
        public string Abstract { get; set; }

        public bool Privacy { get; set; }

        public Int32 AccountId { get; set; }

        public virtual Account Account { get; set; }
    }

我的帐户模型:

public class Account
    {
        public Int32 AccountId { get; set;}

        [Required(ErrorMessageResourceType = typeof (Resource.Account), ErrorMessageResourceName = "UsernameRequired")]
        [DisplayName(@"User Name")]
        public string Username { get; set; }

        [Required(ErrorMessageResourceType = typeof (Resource.Account), ErrorMessageResourceName = "ForenameRequired")]
        [DisplayName(@"Forename")]
        public string FirstName { get; set; }

        [Required(ErrorMessageResourceType = typeof (Resource.Account), ErrorMessageResourceName = "SurnameRequired")]
        [DisplayName(@"Surname")]
        public string Surname { get; set; }

        [Required(ErrorMessageResourceType = typeof (Resource.Account), ErrorMessageResourceName = "EmailRequired")]
        [DataType(DataType.EmailAddress)]
        [DisplayName(@"Email Address")]
        public string Email { get; set; }

        [DisplayName(@"User Picture")]
        public string Picture { get; set; }

        [DisplayName(@"Full Name")]
        public string FullName
        {
            get
            {
                var name = FirstName + " " + Surname;
                return name;
            }
        }
        public virtual List<Novel> Novels { get; set; }

    }

我的个人资料页面:

@using TheNovelMachine.Models
@model TheNovelMachine.Models.Account

@{
    ViewBag.Title = "Details";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<img id="homeimage" src="~/Image/front-page-book.jpg" alt="The Novel Machine" />

<div id="text" class="col-lg-12">
    <h1>Profile</h1>
    <div class="col-lg-6 no-gutter">
        <h2>@Html.DisplayFor(model => model.Username)</h2>
        <h4>@Html.DisplayFor(model => model.FullName)</h4>
        <p>@Html.DisplayFor(model => model.Email)</p>
    </div>

    <div class="col-lg-6 pull-right text-right no-gutter">
        <img class="profilepic" src="~/Image/@(Html.DisplayFor(model => model.Username)).jpg" />
    </div>

    <div class="col-lg-12 no-gutter">
        <hr/>
        <h4>@Html.DisplayFor(model => model.Username)'s Novels</h4>
        @{
            Html.RenderPartial("~/Views/Shared/_NovelProfile.cshtml", new List<Novel>());
        }
    </div>

</div>

还有我的局部视图(_NovelProfile.cshtml):

    @using System.Web.DynamicData
    @using TheNovelMachine.Models
    @model IEnumerable<TheNovelMachine.Models.Novel>


    <table class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.Title)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Genre)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Abstract)
            </th>
            <th>
                @Htm

l.DisplayNameFor(model => model.Privacy)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.AccountId)
        </th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Genre)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Abstract)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Privacy)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.AccountId)
        </td>
    </tr>
}

</table>
特奥·范·科特

如果查看主视图,您会看到您通过了空列表:

@{
    Html.RenderPartial("~/Views/Shared/_NovelProfile.cshtml", new List<Novel>());
}

我想您想传递Model属性,不是吗?

@{
    Html.RenderPartial("~/Views/Shared/_NovelProfile.cshtml", Model.Novels);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用局部视图时为空模型

来自分类Dev

模型在局部视图中为空

来自分类Dev

模型在局部视图中为空

来自分类Dev

在局部视图中实例化空模型?

来自分类Dev

在局部视图中实例化空模型?

来自分类Dev

asp.Net MVC视图模型在发布时为空

来自分类Dev

MVC视图模型在发布时为空(编辑多行)

来自分类Dev

使用IEnumerable作为模型渲染局部视图

来自分类Dev

从局部视图返回的模型字段包含空值

来自分类Dev

当视图字段为空时,通过视图生成角度模型属性

来自分类Dev

在MVC中使用递归局部视图会引发堆栈为空的InvalidOperationException

来自分类Dev

使用RedirectToAction时,视图上的模型为null

来自分类Dev

使用RedirectToAction时,视图上的模型为null

来自分类Dev

如何使用带有剃刀视图的实体框架(.edmx模型)为MVC4或MVC 5创建局部视图?

来自分类Dev

为传递到局部视图的模型设置默认值

来自分类Dev

MvvmCross - 视图模型 mvxInteraction 始终为空

来自分类Dev

访问视图模型的静态属性为空

来自分类Dev

在 foreach 视图中模型为空

来自分类Dev

尝试通过局部视图渲染模型时,Umbraco 7错误

来自分类Dev

如何使用bootstrap或jquery在单击按钮时将局部视图显示为弹出窗口/模式?

来自分类Dev

局部视图为空

来自分类Dev

在局部剃刀视图中正确使用模型

来自分类Dev

在局部视图中使用不同的模型

来自分类Dev

通过局部视图的多种模型

来自分类Dev

MVC局部视图和模型

来自分类Dev

通过局部视图传递模型

来自分类Dev

重置局部视图的模型值

来自分类Dev

将模型传递到局部视图时,“传递给字典的模型项属于类型”

来自分类Dev

将模型传递到局部视图时,“传递给字典的模型项属于类型”

Related 相关文章

  1. 1

    使用局部视图时为空模型

  2. 2

    模型在局部视图中为空

  3. 3

    模型在局部视图中为空

  4. 4

    在局部视图中实例化空模型?

  5. 5

    在局部视图中实例化空模型?

  6. 6

    asp.Net MVC视图模型在发布时为空

  7. 7

    MVC视图模型在发布时为空(编辑多行)

  8. 8

    使用IEnumerable作为模型渲染局部视图

  9. 9

    从局部视图返回的模型字段包含空值

  10. 10

    当视图字段为空时,通过视图生成角度模型属性

  11. 11

    在MVC中使用递归局部视图会引发堆栈为空的InvalidOperationException

  12. 12

    使用RedirectToAction时,视图上的模型为null

  13. 13

    使用RedirectToAction时,视图上的模型为null

  14. 14

    如何使用带有剃刀视图的实体框架(.edmx模型)为MVC4或MVC 5创建局部视图?

  15. 15

    为传递到局部视图的模型设置默认值

  16. 16

    MvvmCross - 视图模型 mvxInteraction 始终为空

  17. 17

    访问视图模型的静态属性为空

  18. 18

    在 foreach 视图中模型为空

  19. 19

    尝试通过局部视图渲染模型时,Umbraco 7错误

  20. 20

    如何使用bootstrap或jquery在单击按钮时将局部视图显示为弹出窗口/模式?

  21. 21

    局部视图为空

  22. 22

    在局部剃刀视图中正确使用模型

  23. 23

    在局部视图中使用不同的模型

  24. 24

    通过局部视图的多种模型

  25. 25

    MVC局部视图和模型

  26. 26

    通过局部视图传递模型

  27. 27

    重置局部视图的模型值

  28. 28

    将模型传递到局部视图时,“传递给字典的模型项属于类型”

  29. 29

    将模型传递到局部视图时,“传递给字典的模型项属于类型”

热门标签

归档