我有一个用模型调用的 MVC3 部分 View 。
@model SomeModel
模型有一个 Id 参数。
在 View 中我调用@Html.Action("SomeMethod", "SomeController")
是否有任何方法可以访问 SomeMethod ActionResult 中的 Id 参数,而无需像这样显式传递它:
@Html.Action("SomeMethod", "SomeController", new {"Id" = Model.Id})
问题是我无法更改部分 View 的源代码。我需要 Id 值。部分 View 中未使用 Id,因此我无法通过 JavaScript 访问它。 模型是否传递给HttpContext,有什么方法可以传递吗?
编辑:问题是我正在为 nopCommerce 开发一个插件,就像 nop-templates 提供的那些。 nopCommerce是开源软件,我可以更改代码,但插件会单独发货,所以不建议在nopCommerce中进行更改观点,而我所指的观点就是这样的。
最佳答案
当您无法更改分部 View 的源代码时,就无法获取 Controller 中的 id 值。它完全解耦,这是 MVC 模式的一个要点。
您必须将其作为参数明确传递给您的操作。
一个肮脏的解决方法可能是将该 id 存储在 Session
中的某个位置。
关于asp.net-mvc-3 - 在 Controller 中从 MVC3 部分 View 访问模型数据,而不在 View 中显式传递它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13175067/