Вы можете фактически передать объект в метод контроллера, используя Action. Это можно сделать в любом доступном представлении, например, у меня есть одно в общей библиотеке, которая создается для папок бина проекта, которые ссылаются на мой общий проект (свойства - Копировать, если новее, в файле представления в Visual Studio). Это делается так:
Контроллер:
public class GroovyController : Controller
{
public ActionResult MyTestView(MyModel m)
{
var viewPath = @"~\bin\CommonViews\MyTestView";
return View(viewPath, m);
}
}
Страница MVC (с использованием синтаксиса Razor):
@Html.Action("MyTestView", "Groovy", new { m = Model })
или используя RenderAction
метод:
@{ Html.RenderAction("MyTestAction", "MyTestController", new { area = "area", m = Model }); }
Примечание: в @Html.Action()
объект Model
должен иметь тип MyModel
, а для этого 3-го параметра должно быть задано имя переменной контроллера, из которых у меня значение MyModel m
. m
- это то, что вы должны назначить, поэтому я делаю m = Model
.