asp.net-mvc-3 - 在 Controller 中从 MVC3 部分 View 访问模型数据,而不在 View 中显式传递它

标签 asp.net-mvc-3 view model controller httprequest

我有一个用模型调用的 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/

相关文章:

c# - 如何使用 Entity Framework 4.2 执行数据库迁移?

Android Navigation View 以编程方式设置菜单

android - 如何使多个 View 具有相同的宽度?

ios - Swift TableView 人口

mysql - 可以在 Rails 中配置模型以从不同的数据源提取数据吗?

javascript - 使用 JavaScript/Knockout 下拉列表中选定的值填充 MVC3 View 模型?

c# - 如何将 css 类注入(inject) MvcHtmlString?

c# - ASP.NET MVC 事件

objective-c - iOS 删除 View

python - 根据匹配日期从另一个模型获取值(value)