Динамические функции рендеринга ASP.NET MVC во вкладках jquery - PullRequest
0 голосов
/ 22 января 2010

Хорошо, так что этот заголовок - полный рот ... Но, я полагаю, вы понимаете, что я пытаюсь сделать.

У меня есть страница, которая содержит элемент управления вкладками jquery, и я отображаюразличные вкладки, проходя через мою модель.Теперь элементы div (которые «связаны» с этими вкладками) также создаются с помощью того же цикла.Следовательно, у меня есть равные вкладки + div, связанные с этими вкладками.

Проблема в том, что вызывается только первый RenderAction, все остальные точно такие же.

Код, который зацикливаетrenderactions:

foreach (var domain in Model.Domains)
{ %>
    <%= String.Format(@"<div id=""domain_{0}"">", domain.ID)%>
        <%= Html.Encode(domain.ID) %>
        <% Html.RenderAction("DomainView", "Person", new { domainid = domain.ID }); %>

    </div>
<% } %>

Итак, каждый div имеет идентификатор «domain_NUMBER», где, конечно, число зациклено.И рендеринг вызывает действие «DomainView» в моем контроллере, которое принимает параметр «domainid».

Оптимистично, я думал, что это будет работать, но, я думаю, я ошибаюсь ...

Ответы [ 2 ]

0 голосов
/ 01 февраля 2010

Statichippo, действительно, это было как-то связано с моими значениями маршрута.

Видя, что я не разработчик, который создал маршрутную карту, я "забыл" проверить их. Как только я сформулировал свои URL для использования строки запроса, все заработало хорошо!

В текущем проекте запрещено добавлять / изменять значения маршрута, поэтому мне пришлось искать обходной путь.

0 голосов
/ 22 января 2010

Если я вас правильно понимаю, вы получаете, скажем, 3 деления, но они все одинаковые.

Под этим же можно подразумевать 2 вещи:

1) Если вы имеете в виду, что все div имеют имя "div_1", то у вас есть 3 домена с одинаковым domainid, и существует проблема с тем, как вы добавляете домены в вашу модель

2) Если вы имеете в виду, что div-ы названы по-разному, но содержимое одинаково,

Вам необходимо установить точку останова в действии DomainView контроллера Person. Это позволит вам увидеть, что передается domainid. Поскольку сам код выглядит хорошо. Проблема, вероятно, связана с маршрутизацией. Например, действие DomainView принимает параметр ID, но вы передаете DOMAINID, поэтому для ID по умолчанию просто 0, что означает, что все элементы div имеют одинаковое содержимое

...