我这么问是因为我将创建局部视图是空白的,与创建一个新的子实体的目的。 我只是需要一个快速的,不管脏,办法从局部视图中访问父模型。 我需要家长的ID。
做了局部视图自动访问父的模式?
我这么问是因为我将创建局部视图是空白的,与创建一个新的子实体的目的。 我只是需要一个快速的,不管脏,办法从局部视图中访问父模型。 我需要家长的ID。
做了局部视图自动访问父的模式?
除非你呈现,当它通过一些价值,这部分作为参数,你不能从一个局部视图访问父模型。 例如,在你的主要观点:
@model MyViewModel
...
@Html.Partial("_myPartial", new ViewDataDictionary(new { id = Model.Id }));
然后里面的部分,你可以访问Id
:
<div>@ViewBag.Id</div>
当然,这是将数据传递到的局部视图的一个非常糟糕的方式。 正确的方法是使用强类型的视图模型。
我知道这是一个老话题,但我想我只是添加我的解决同样的问题呢。 我认为这是一个有点清洁。
基本上是一个模型添加到局部视图。
包封观点:
@model whatever
...
@Html.Partial("partialview", anotherwhatever)
局部视图:
@model anotherwhatever
<div>@Model.something</div>
...
在我的情况下,我只需要通过一个串入局部视图(只用它来缩短和分区的代码),所以这是比其它溶液更优雅。
我第一次尝试其他的解决方案,实际上无法得到它的工作,它只是表现得好像我传递的值是空白的。
这结束了对我的工作。
@model MyViewModel
...
@Html.Partial("_myPartial", new ViewDataDictionary { { "id", Model.Id } })
和局部视图内,使用该...
<div>@ViewBag.id</div>