【问题标题】:MVC3 ASPX ViewBag / ModelMVC3 ASPX ViewBag / 模型
【发布时间】:2011-11-16 16:50:00
【问题描述】:

我有一个使用模型的视图

Inherits="System.Web.Mvc.ViewPage<Program.Models.Test>"

我正在使用以下方式在视图中显示数据:

> <%= this.Model.Item == null ? "" :
> Html.GetString(this.Model.Item.Name) %>

现在我试图在同一个视图上显示与另一个模型不同的项目,我认为 ViewBag 可能会有所帮助,所以在我的控制器中,我添加了:

ViewBag.GuideLines = ctx.GuideLines;

我的问题是我可以在同一视图上显示来自 Guidelines 模型的特定项目值吗?

提前致谢。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    我认为 ViewBag 可能会有所帮助

    错误的想法。 ViewBag/ViewData 从来没有帮助。我从不在任何 ASP.NET MVC 应用程序中使用这 2 个。

    现在我正在尝试在同一视图上显示与另一个模型不同的项目

    只需将此其他模型添加为主视图模型的属性。所以你会在视图中看到Model.Guidelines

    【讨论】:

    • 谢谢,我添加了 public GuideLineRepository glr = new GuideLineRepository();到模型。
    【解决方案2】:

    一般来说,如果您需要在单个页面中使用一个或多个域模型,您将创建一个视图模型,基本上是一个 POCO,其中仅包含来自您的域对象(或任何其他信息)的属性您的观点需要注意。然后,您将强烈地将您的视图输入到这种新的视图模型类型并按照正常方式访问属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      相关资源
      最近更新 更多