Параметр asp.net mvc со страницы для частичного просмотра - PullRequest
6 голосов
/ 01 июня 2009

У меня проблема, у меня есть ссылка ajax, которая передает параметр, но открываемая страница не нуждается в этом параметре. На страницу загружаются только 2 частичных представления, одному из которых требуется, чтобы этот параметр передавался на страницу для правильной загрузки данных, а другому просто нужно загрузить форму, поэтому этот параметр не нужен. Как я могу достичь этого?

Ответы [ 4 ]

6 голосов
/ 01 июня 2009

Чтобы сделать то, что вы хотите, вам нужно добавить идентификатор в конструкцию ViewData.

var sysfunctions= UnisegurancaService.FunctionsRepository.All();
ViewData["NeededID"] = id
return View(sysfunctions);

тогда по вашему мнению, где вы визуализируете частичное

<%= Html.RenderPartial("GridFunction", (int)ViewData["NeededID"]) %>

В ролях, как требуется, конечно.

Все, что вводится в качестве второго параметра, становится моделью в частичном. Я бы посоветовал также строго набрать ваши частичные.

3 голосов
/ 01 июня 2009

Попробуйте это:

<% Html.RenderPartial("GridFunction", new ViewDataDictionary {{"Id", ViewData["Id"]}}); %>

ОБНОВЛЕНИЕ:

И добавьте это в действие вашего контроллера:

ViewData["Id"] = Id;

ОБНОВЛЕНИЕ:

И в вашем частичном представлении GridFunction вы можете получить идентификатор:

<%= ViewData["Id"] %>
0 голосов
/ 01 июня 2009

Если для некоторой зависимости страницы требуется параметр, то странице необходимо знать достаточно, чтобы передать данные, поэтому страница должна быть в состоянии предоставить данные. Или, проще, просто добавьте параметр в viewdata страницы и покончите с этим.

0 голосов
/ 01 июня 2009

// Контроллер

  public ActionResult EditFunctions(int id)
    {

        var sysfunctions= UnisegurancaService.FunctionsRepository.All();
        return View(sysfunctions);
    }
    // This is the controller (it does no need the parameter "ID")

// Это представление "EditFunctions"

<div id="formFunction">
<% Html.RenderPartial("FormFunction"); %>
</div>


<div id="gridFunction">
<% Html.RenderPartial("GridFunction"); %> // The grid needs the ID to work correctly but its in the parent page not in the partial call....and the call is an ajax call
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...