asp mvc: показать детали объекта в диалоге jquery - PullRequest
1 голос
/ 18 августа 2010

Предположим, у меня есть список обедов.В этом списке будут представлены пользователи, местоположение, данные и некоторая другая важная информация.

Так как на нем присутствует много людей, я хочу, чтобы на каждом ужине была кнопка, которая открывает диалоговое окно jquery, которое показывает людям, чтобудет присутствовать.

Что я делаю до сих пор:

На каждом ужине в списке у меня есть следующий ярлык

<label class="falselink" id="<%= Html.Encode(item.Id) %>">show attendence</label>

У меня также есть этот скрипт, чтобы открыть диалоговое окнокогда кто-то нажимает на ярлык:

<script type="text/javascript">
$(function() {
    $('#dialog').dialog({
        autoOpen: false,
        title: 'Attendence',
        modal: true
    });


    $('.falselink').click(function() {
        $('#dialog').dialog('open');
        return false;
    });
});
</script>

У меня также есть следующий div, содержащий диалоговое окно

<div id="dialog" >
    <% Html.RenderAction("DinnerAttendence", new { id = 3 }); %>
</div>

Если я следую за URL http://localhost/Dinner/DinnerAttendence/3, это работает, на самом деле, если я нажму на ссылку, появится диалоговое окно с людьми, присутствующими на ужине 3.

Моя единственная проблема - как передать идентификатор обеда в RenderAction RouteValue?

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 22 марта 2011

Я знаю, что этот вопрос старый, но я все равно отвечу.

Похоже, что это невозможно с RenderAction. Если вам нужно получить обеденный идентификатор из javascript, вам нужно сделать что-то грязное, например добавить идентификатор в вызове к методу Url.Action:

     $.get('@(Url.Action("DinnerAttendence", "Dinners"))/' + dinnerId, 
function (data) { $("#dialog").append(data); });

Если кто-нибудь знает о лучшем способе, я хотел бы услышать об этом.

...