создавать вкладки внутри представления вкладок, вызывая действие контроллера, которое возвращает частичное представление

Я создал вкладки, используя вкладки кендо в формате ниже. Теперь я хочу создать вкладки внутри div и показывать частичные представления для каждой вкладки, вызывая действие контроллера и передавая два параметра этому действию контроллера, которое возвращает частичное представление с данными модели. Я проверил так много решений, но смог найти правильное решение, которое удовлетворило бы мои требования. Кто-нибудь может помочь.

<ul>
    @foreach(var item in model)
        {
            <li>
                @item.DocumentVersion
            </li>
        }
</ul>
@foreach(var Document in model)
        {
            <div>
                <p>
                    @Document.Details
                </p>
                </br>
                <span>
                    @Document.File
                </span>
            </div>
        }

person user7721524    schedule 07.04.2017    source источник
comment
Так что сделайте это ... и опубликуйте, если это не сработает. то есть вызов действия контроллера и передача двух параметров этому действию контроллера, которое возвращает частичное представление с данными модели. - поиск частичного представления MVC Я бы подумал   -  person Mark Schultheiss    schedule 08.04.2017
comment
@MarkSchultheissam привет .. это не о вызове действия контроллера и передаче параметров. Мне нужно добиться этого в моем представлении вкладок. Я не знаю, как мне этого добиться, и я оказался здесь.   -  person user7721524    schedule 08.04.2017
comment
Я знаю, что делаю это, т.е. вызываю действие контроллера и возвращаю частичное представление. Но я не знаю, как это сделать, чтобы отобразить представление в содержимом вкладок.   -  person user7721524    schedule 08.04.2017
comment
Поместите это туда? Сделайте это там ...   -  person Mark Schultheiss    schedule 08.04.2017
comment
Как и в моем вопросе, вы могли видеть созданные мной вкладки. Должны быть элементы списка и соответствующие ‹div› для каждой ‹li›, которые были бы содержанием каждой вкладки и не загружались при нажатии. Он загружает данные для всех div при загрузке страницы. как я должен визуализировать частичное представление внутри этого div без каких-либо событий :(   -  person user7721524    schedule 08.04.2017


Ответы (1)


Визуализируйте частичное изображение в представлении (упрощенный пример)

<div>
@{Html.RenderPartial("MyPartialViewName",
    new { firstName = model.FirstName, lastName = model.LastName});
}
</div>

<div>
@{Html.RenderPartial("MyPartialViewName","MyController",
    new { firstName = model.FirstName, lastName = model.LastName});
}
</div>

Создать действие просмотра параметров

[ChildActionOnly]
public ActionResult MyPartialViewName(string firstName, string lastName)
{
// create model here...
 var model = repository.GetThingByParameter(firstName,lastName);
 var partialViewModel = new PartialViewModel(model);
 return PartialView(mypartialViewModel); 
}

Пример кода просмотра:

 <p>
    @model.something
 </p>
 </br>
 <span>
    @model.otherthing
 </span>

ИЛИ сделайте всю разметку в частичном представлении:

<div>
    <p>
        @model.something
    </p>
    </br>
    <span>@model.otherthing</span>
</div>

Текущая страница:

@foreach(var Document in model)
{
    @{Html.RenderPartial("MyPartialViewName",
        new { firstName = model.FirstName, lastName = model.LastName});
    }
}

Обратите внимание, что вы также можете передать часть модели как документ:

 @foreach(var Document in model)
 {
    @{Html.RenderPartial("MyPartialViewName",Document);
 }

И частичное представление: (здесь не переданы параметры ... только модель)

@model YourApp.Model.Document
<div>
  <p>
        @Model.Details
   </p>
   </br>
   <span>@Model.File</span>
</div>
person Mark Schultheiss    schedule 07.04.2017
comment
Спасибо. Я попробую вышеуказанный код утром. Надеюсь это работает. - person user7721524; 08.04.2017
comment
Этот код работает для вызова частичного представления непосредственно из div. Но я хочу вызвать действие контроллера, чего не происходит. - person user7721524; 08.04.2017
comment
Я отредактировал ответ (см. В верхней части примера, чтобы указать контроллер - он должен вызывать действие, указанное в этом контроллере. Он должен вызывать этот контроллер, устанавливать в нем отладку. - person Mark Schultheiss; 08.04.2017