MVC Render Action复制传递的模型

时间:2016-07-13 16:44:35

标签: c# asp.net-mvc

我有一个mvc视图,它使用层次结构作为模型。我将模型的属性传递给子操作。

@{ Html.RenderAction("SomeAction", "SomeController", Model.Child[0]); }

一切正常,但我注意到默认的mvc binder使用Model.Child[0]复制Activator的值,并通过构建html页面的过程复制一些反射内容。我只是在“SomeAction”方法中看到一个不同的对象。我不希望这种情况发生并保留原始物体。

我尝试编写自定义绑定器,检查它是否为子操作并在ControllerContext/ModelBindingContext内找到原始对象。但没有运气,我找不到原件。有人有类似的问题,任何帮助将不胜感激?

UPD。 我发现当我调用RenderAction时,模型会立即在RouteValueDictionary中进行分割,因此在调用底层控制器操作之前必须重新创建模型并不奇怪。但我不相信没有办法解决它,因为在某些情况下它可能会导致性能问题。

0 个答案:

没有答案
相关问题