在视图和部分视图之间共享模型

3

我有一个小问题。我有一个视图(搜索+搜索结果),我想将其分成两个部分,我决定创建一个带有自己控制器的局部视图用于搜索表单,并在视图中保留结果列表。我需要知道是否可以在视图和局部视图之间共享与视图相关联的模型实例,如果可以,如何实现?


1
是的。如果您使用@Html.Partial("YourPartial"),它将使用包含模型的主视图的ViewDataDictionary - user3559349
2个回答

2
当你渲染部分视图时,可以将模型传递给它:
 @Html.Partial("SearchPartial", Model)

请确保搜索视图(Search view)和搜索局部视图(Search partial view)使用相同的模型类型。例如:

 @model SearchModel

注意: 在这种情况下,部分控制器将不会被调用。 这是有意设计的。 如果您已经拥有一个模型和一个视图,那么调用控制器就没有意义了。 但这意味着您的页面控制器需要确保将所有内容都放入部分所需的模型中。


但是传递给部分视图的模型是否与视图中的模型是同一实例?当研究结束时,部分视图的模型是否会被“传递”到视图中? - Nopesound
1
是的,视图引擎只是传递实例。 - Florian Schmidinger

0

Html.Partial有一个重载,可以传递模型。要更新您的结果,请查看Ajax.BeginForm... 尝试粘贴一些您已经拥有的代码以获得更详细的帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接