从局部视图访问父模型(Access Parent Model from partial view)

2019-07-21 07:19发布

我这么问是因为我将创建局部视图是空白的,与创建一个新的子实体的目的。 我只是需要一个快速的,不管脏,办法从局部视图中访问父模型。 我需要家长的ID。

做了局部视图自动访问父的模式?

Answer 1:

除非你呈现,当它通过一些价值,这部分作为参数,你不能从一个局部视图访问父模型。 例如,在你的主要观点:

@model MyViewModel
...
@Html.Partial("_myPartial", new ViewDataDictionary(new { id = Model.Id }));

然后里面的部分,你可以访问Id

<div>@ViewBag.Id</div>

当然,这是将数据传递到的局部视图的一个非常糟糕的方式。 正确的方法是使用强类型的视图模型。



Answer 2:

我知道这是一个老话题,但我想我只是添加我的解决同样的问题呢。 我认为这是一个有点清洁。

基本上是一个模型添加到局部视图。

包封观点:

@model whatever
...
@Html.Partial("partialview", anotherwhatever)

局部视图:

@model anotherwhatever
<div>@Model.something</div>
...

在我的情况下,我只需要通过一个串入局部视图(只用它来缩短和分区的代码),所以这是比其它溶液更优雅。

我第一次尝试其他的解决方案,实际上无法得到它的工作,它只是表现得好像我传递的值是空白的。



Answer 3:

这结束了对我的工作。

@model MyViewModel
...
@Html.Partial("_myPartial", new ViewDataDictionary { { "id", Model.Id } })

和局部视图内,使用该...

<div>@ViewBag.id</div>


文章来源: Access Parent Model from partial view