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/

相关文章:

ruby-on-rails - 使用关联模型的参数创建 Rails 模型?

javascript - Backbone.js - 全局/共享/相关模型的最佳方法是什么?

asp.net-mvc - 如何使用Ajax.ActionLink?

asp.net-mvc - 如何在某些HTML中内嵌Razor代码?

c# - ASP.NET MVC 3 - 当 URL 参数也存在且名称与 View 模型参数相同时,DropDownListFor 失败

wpf - MVVM View 优先方法如何更改 View

c# - 升级到 MVC3。找不到 ashx 资源。路由问题?

Mysql - 来自 VIEW 的 "EXPLAIN SELECT"正在查看主表的所有行

view - StandaloneView 的 RCP 占位符

python - 如何将 Django 模型的实例保存到我的数据库中