1

假设我有一份晚餐清单。该列表将向用户提供位置、数据和其他一些相关信息。

因为有很多人参加,所以我希望在每次晚餐上都有一个按钮,打开一个 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 的人的对话。

我唯一的问题是我如何将晚餐 ID 传递给 RenderAction RouteValue?

谢谢你的帮助

4

1 回答 1

0

我知道这个问题很老,但无论如何我都会回答。

看来这对于 RenderAction 是不可能的。如果您需要从 javascript 获取晚餐 ID,那么您将需要做一些肮脏的事情,例如在对 Url.Action 方法的调用中附加 id:

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

如果有人知道更好的方法,我很想听听。

于 2011-03-22T19:21:36.707 回答