2010-11-23 5 views
0

Я обрабатываю строго типизированный частичный вид внутри динамической страницы. У меня есть метод (xyz) внутри контроллера, который заполняет модель.Сильно типизированный частичный вид

Как я могу заполнить модель и сделать это частичный вид

я попробовал этот

<% Html.RenderPartial("partialviewname",xyz()); %> 

но я получаю построить ошибку, говорящими никаких ссылок на А(), я добавил свой класс контроллера в качестве эталона и нет удачи

я что-то пропустил?

ответ

1

Что такое xyz() ???

Во всяком случае .... в контроллере добавить действие, как этот

[HttpGet] 
public virtual ActionResult Create() { 
    MyModel dm = _manager.CreateMyModel(); 
    return PartialView("MyModelView", dm); 
} 

затем создать частичный вид под названием «MyModelView», что сильно типизированных к классу MyModel, и вы сделали.

Если вам нужна дополнительная помощь, пожалуйста, изменить свой вопрос и добавить еще немного кода из образца

1

Вы не можете вызывать методы из контроллера непосредственно в представлении. Я беру с вашего вопроса, что вам нужен Html.RenderAction («xyz») вместо Html.RenderPartial.

Действие xyz может восстановить модель и вернуть PartialView (см. Ответ Лоренцо), который затем будет отображаться внутри основного вида.

0

Вызовите метод xyz() перед вызовом RenderPartial.

<% 
var myController= ViewContext.Controller as YourControllerClass; 
var myModel = myController.xyz(); 
%> 

И тогда вы можете использовать УАК MyModel:

<% Html.RenderPartial("partialviewname", myModel); %>