首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Razor-4视图中访问模型属性

在Razor-4视图中访问模型属性
EN

Stack Overflow用户
提问于 2013-12-04 17:58:49
回答 2查看 19.4K关注 0票数 5

我有以下EF生成的数据模型:

代码语言:javascript
复制
public partial class PrinterMapping
{
    public string MTPrinterID { get; set; }
    public string NTPrinterID { get; set; }
    public string Active { get; set; }
}

然后我有了下面的视图模型:

代码语言:javascript
复制
public class PrinterViewModel
{
    public PrinterMapping PrinterMapping;
    public Exceptions Exceptions;
    public IEnumerable<PrinterMapping> Printers;
}

在HomeController中的索引操作中,我将视图模型传递给索引视图。

代码语言:javascript
复制
private eFormsEntities db = new eFormsEntities();
public ActionResult Index()
{
    PrinterViewModel printerModel = new PrinterViewModel();
    printerModel.Printers = from pt in db.PrinterMapping select pt;

    return View(printerModel);
}

我的Index视图在接近尾声时以以下方式调用部分视图(可能是错误的):

代码语言:javascript
复制
@Html.Partial("~/Views/Home/GridView.cshtml")

我的GridView.cshtml看起来像这样:

代码语言:javascript
复制
@model AccessPrinterMapping.Models.PrinterViewModel

<h2> This is Where the Grid Will Show</h2>

@{
    new WebGrid(@model.Printers, "");
}

@grid.GetHtml()

我从http://msdn.microsoft.com/en-us/magazine/hh288075.aspx学到了WebGrid方法。

我的WebGrid代码行一点也不高兴,因为它不能识别该行中的@Model.如何访问我传入的视图模型中的打印机?这有可能吗?

非常感谢大家。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-04 18:01:02

代码语言:javascript
复制
@{
    new WebGrid(Model.Printers, "");
}

此外,您还必须将模型传递到

代码语言:javascript
复制
@Html.Partial("~/Views/Home/GridView.cshtml")

在第二个参数中。我想这个电话应该是

代码语言:javascript
复制
@Html.Partial("~/Views/Home/GridView.cshtml", Model)
票数 2
EN

Stack Overflow用户

发布于 2013-12-04 18:03:30

你的代码有两个问题。

首先,您应该像这样显式地传递您的模型:

代码语言:javascript
复制
 @Html.Partial("~/Views/Home/GridView.cshtml", Model) @* explicitly pass the model in *@

然后,因为您已经在局部视图中的代码块中..你不需要@符号..并且Model有一个大写的M。

代码语言:javascript
复制
 new WebGrid(Model.Printers, "");

@model是用于视图/部分视图的指令。可以把它看作是一个“配置”命令。Model是一个实际的属性。它是传递到视图中的对象。与您在@model指令中指定的类型相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20372171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档